我使用以下代码访问Excel文件并从中读取,但不断收到System.InvalidOperationException表示发生了错误:
using (ExcelPackage package = new ExcelPackage(new FileInfo(source)))
{
foreach (ExcelWorksheet sheet in package.Workbook.Worksheets)
{
Console.WriteLine();
Parse(sheet);
}
package.Save();
}
GC.Collect();
这是方法解析:
private void Parse(ExcelWorksheet Sheet)
{
String name = Sheet.Name;
using (ExcelWorksheet sheet = Sheet)
{
if (name.Equals(SUMMARRY_SHEET))
{
int col = get_col(sheet);
this.parse_summary(sheet,col);
Console.WriteLine("successful summary sheet parsing - " + DbName);
}
}
}
(Dbname,SUMMARY_SHEET是字符串) parse_summarry()只是一个读取文件中其中一个工作表的方法。
仅使用我正在使用的其中一个文件,每次都使用相同的文件。如果我删除了save命令,程序运行正常,除了文件未正确关闭,然后下一次运行程序将失败(抛出异常),因为文件仍处于打开和使用状态。