如何使用EPPlus将新工作表添加到现有Excel文件中

本文关键字:添加 Excel 文件 EPPlus 何使用 新工作 工作 | 更新日期: 2023-09-27 18:24:01

使用EPPlus,我想向Excel文件中添加一张新工作表,但我不想删除文件中现有的工作表(如果有的话),我想将其作为文件中的第一张工作表插入。以下是我为快速测试所写的内容,但它删除了所有现有的表单:

using (ExcelPackage p = new ExcelPackage())
{
    p.Workbook.Worksheets.Add("HubaHuba");
    p.Workbook.Worksheets.MoveToStart("HubaHuba");
    ExcelWorksheet ws = p.Workbook.Worksheets[1];
    ws.Name = "HubaHuba";
    var cell = ws.Cells[1, 1];
    cell.Value = "dfsdfsdfsd";
    cell = ws.Cells[1, 2];
    cell.Value = "347895y5 Oh";
    Byte[] bin = p.GetAsByteArray();
    File.WriteAllBytes(path,bin);
}

如何使用EPPlus将新工作表添加到现有Excel文件中

using (ExcelPackage excelEngine = new ExcelPackage())
{
     excelEngine.Workbook.Worksheets.Add("sheet1");
     excelEngine.Workbook.Worksheets.Add("sheet2");
     excelEngine.Workbook.Worksheets.Add("sheet3");
     String myFile= "c:'....'xx.xlsx";
     excelEngine.SaveAs();
}

使用Add时,图纸将添加到当前文件图纸的和处。

如果您想在特定位置添加,请使用此功能:

excelEngine.Workbook.Worksheets.Add("sheet0");
excelEngine.Workbook.Worksheets.MoveBefore(4, 1);

sheet0被添加到和的第4个位置,您可以使用前面的代码将其移动到第一个位置。

这是因为您正在使用命令File.WriteAllBytes重写文件。相反,您应该只调用p.Save(),ExcelPackage需要使用接受文件路径的构造函数。然后它就会起作用。