使用EPPlus创build文件后文件被locking

我使用EPPlus库创build一个Excel文件。 在创build文件后,只要程序正在运行,就不能删除或编辑它,因为它被称为“另一个用户”使用。 我找不到任何适合我的解决scheme。

这是我的代码:

var newFile = new FileInfo(path); using (var xlPackage = new ExcelPackage(newFile)) { var ws = xlPackage.Workbook.Worksheets.Add("Sheet1"); ... xlPackage.Save(); } 

尝试使用可以读/写的FileStram来使用SaveAs ;

 using(var stream = new FileStream(path, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite)) using(var xlPackage = new ExcelPackage(stream)) { var ws = xlPackage.Workbook.Worksheets.Add("Sheet1"); // ... xlPackage.SaveAs(stream); } 

我知道这是一个旧的post,但我刚刚遇到这个问题,并find了一个解决scheme,如果你正在build立一个数据表的电子表格。

在保存文档后处理数据表

 dt.Dispose(); 

这固定了我的这个问题的版本

我在类似的情况下使用图像类,并不得不手动处理图像

 img.Dispose(); 

不pipeimgvariables的范围如何,我都可以删除代表img的文件。