简体   繁体   English

如何使用 c# 将工作表拆分为单独的工作簿 // 如何使用 EPPLus 复制整个工作表

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

Trying to tackle a lot of new tools at once, attempting to split each worksheet in a .xlsx file into individual workbooks.尝试同时处理许多新工具,尝试将 .xlsx 文件中的每个工作表拆分为单独的工作簿。

  1. Is there a simple way to copy the entire worksheet (including images/lines) with spreadsheetlight or EPPlus?是否有一种简单的方法可以使用电子表格或 EPPlus 复制整个工作表(包括图像/线条)?

  2. If direct copying one worksheet to another won't work, are you able to copy all cell data into an object and paste it over to the cells of another workbook?如果直接将一个工作表复制到另一个工作表不起作用,您是否能够将所有单元格数据复制到一个对象中并将其粘贴到另一个工作簿的单元格中?

Any advice is greatly appreciated!任何意见是极大的赞赏!

Edit: Open to alternatives to Spreadsheetlight as well, looking into EPPlus at the moment.编辑:也对 Spreadsheetlight 的替代品开放,目前正在研究 EPPlus。

EPPlus makes this fairly simple. EPPlus 使这变得相当简单。

Something like this should do it:像这样的事情应该这样做:

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"));
        }
    }
}

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

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