How to split worksheets into separate workbooks using c# // 如何使用 EPPLus 复制整个工作表

How to split worksheets into separate workbooks using c# // how to copy entire worksheet with EPPLus

尝试同时处理大量新工具,尝试将 .xlsx 文件中的每个工作表拆分为单独的工作簿。

  1. 有没有一种简单的方法可以用spreadsheetlight或EPPlus复制整个工作表(包括images/lines)?

  2. 如果直接将一个工作表复制到另一个工作表不起作用,您是否可以将所有单元格数据复制到一个对象中并将其粘贴到另一个工作簿的单元格中?

非常感谢任何建议!

编辑:也对 Spreadsheetlight 的替代品持开放态度,目前正在研究 EPPlus。

EPPlus 使这变得相当简单。

应该这样做:

using (var sourceExcel = new ExcelPackage(new FileInfo("multisheet.xlsx")))
{
    var sheetsToCopy = sourceExcel.Workbook.Worksheets;
    foreach(var sheetToCopy in sheetsToCopy)
    {
        using (var destExcel = new ExcelPackage())
        {
            destExcel.Workbook.Worksheets.Add(sheetToCopy.Name, sheetToCopy);
            destExcel.SaveAs(new FileInfo(sheetToCopy.Name + ".xlsx"));
        }
    }
}