无法使用EPPlus删除工作表

本文关键字:删除 工作 EPPlus | 更新日期: 2023-09-27 17:50:30

我正在使用这个代码:

ExcelPackage pck = new ExcelPackage(newFile);
var wk = pck.Workbook.Worksheets.SingleOrDefault(x => x.Name == "Content");
pck.Workbook.Worksheets.Delete(wk);

但在删除它给了我"IndexOutOfRangeException",但我试图从对象中删除,我试图通过索引"1"删除,我只有两个工作表,和相同的例外。文件和工作表不是空的,但当我以任何方式执行删除,我收到"IndexOutOfRangeException"。

发生了什么?

注意:我已经从ExcelPackage中创建了这个工作表,现在我想删除它。

无法使用EPPlus删除工作表

看起来你遇到了一些临时的错误/问题,这已经被修复了。从EpPlus 4.0.1.1开始,以下代码可以正常工作:

var workbookFileInfo = new FileInfo(@"Workbook.xlsx");
using (var excelPackage = new ExcelPackage(workbookFileInfo))
{
    excelPackage.Workbook.Worksheets.Add("Worksheet1");
    excelPackage.Workbook.Worksheets.Add("Worksheet2");
    excelPackage.Save();
}
using (var excelPackage = new ExcelPackage(workbookFileInfo))
{
    var worksheet = excelPackage.Workbook.Worksheets.SingleOrDefault(x => x.Name == "Worksheet1");
    excelPackage.Workbook.Worksheets.Delete(worksheet);
    excelPackage.Save();
}

尝试更新到最新可用的稳定版本的EpPlus,如果不能帮助你,请张贴适用于最新版本的其他详细信息。