简体   繁体   English

使用C#和OpenXML将工作表复制到另一个Excel工作簿

[英]Copying sheet to another Excel workbook using C# and OpenXML

Sheet 2 contains the lists which are created previously, and sheet 1 contains the links to sheet 2, so when I generate sheet 1, I want sheet 2 to be copied to the workbook. 工作表2包含先前创建的列表,工作表1包含指向工作表2的链接,因此在生成工作表1时,我希望将工作表2复制到工作簿中。

static void CopySheet(string filename, string sheetName, string clonedSheetName) {
    //Add new sheet to main workbook part
    Sheets sheets = workbookPart.Workbook.GetFirstChild<Sheets>();
    Sheet copiedSheet = new Sheet();
    copiedSheet.Name = clonedSheetName;
    copiedSheet.Id = workbookPart.GetIdOfPart(clonedSheet);
    copiedSheet.SheetId = (uint)sheets.ChildElements.Count + 1;
    sheets.Append(copiedSheet);
    //Save Changes
    workbookPart.Workbook.Save();
}

Try 尝试

using (ExcelPackage ExcelFile = new ExcelPackage(new System.IO.FileInfo(@"C:\temp\MyExcelFile.xlsx")))
{
    ExcelFile.Workbook.Worksheets.Copy("SheetToCopyName", "SheetToCopyToName");
}

This is done with EPPlus which uses OpenXML library. 这是通过使用OpenXML库的EPPlus完成的。 If you're using another library let me know. 如果您正在使用其他库,请告诉我。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM