无法使用EPPlus删除工作表

我正在使用这个代码:

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

但在删除它给我“IndexOutOfRangeException”,但我想从对象删除,我试图删除索引“1”,我只有两个工作表,和相同的例外。 该文件和工作表不是空的,但是当我执行删除无论如何,我收到“IndexOutOfRangeException”。

发生了什么?

注:我也从ExcelPackage创build了这个工作表,现在我想删除它。

看起来你遇到了一些暂时的bug /问题,这已经修复了。 从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的最新稳定版本,如果不能帮助您,请发布适用于最新版本的更多详细信息。