【发布时间】:2014-12-23 12:03:24
【问题描述】:
我正在使用此代码:
ExcelPackage pck = new ExcelPackage(newFile);
var wk = pck.Workbook.Worksheets.SingleOrDefault(x => x.Name == "Content");
pck.Workbook.Worksheets.Delete(wk);
但在删除时它给了我“IndexOutOfRangeException”,但我试图从对象中删除,我试图按索引“1”删除,我只有两个工作表和相同的异常。文件和工作表不为空,但是当我无论如何执行删除时,我都会收到“IndexOutOfRangeException”。
发生了什么事?
注意:我也从 ExcelPackage 创建了这个工作表,现在我想删除它。
【问题讨论】:
-
你确定 wk 不为空吗?
-
我遇到了同样的例外情况:
while (wb.Worksheets.Count > 0) wb.Worksheets.Delete(0);。 -
顺便说一句,将我的代码更改为
while (wb.Worksheets.Count > 0) wb.Worksheets.Delete(1);时,不会发生异常。似乎索引是从一开始的,而不是从零开始的。 -
您还没有添加任何名为“内容”的工作表,为什么 wk 不能为空?