如何使用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);
}
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需要使用接受文件路径的构造函数。然后它就会起作用。