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

时间:2017-10-23 07:37:26

标签: c# openxml

工作表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();
}

1 个答案:

答案 0 :(得分:0)

尝试

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

这是通过使用OpenXML库的EPPlus完成的。如果你正在使用另一个图书馆,请告诉我。