使用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的文件。