c# - 使用 EPPlus 创建后文件被锁定

标签 c# excel epplus

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

这是我的代码:

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

最佳答案

尝试将SaveAs与可读/写的FileStram一起使用;

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);
}

关于c# - 使用 EPPlus 创建后文件被锁定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20097114/

相关文章:

c# - SignalR 作为游戏服务器

javascript - 跨域SignalR导入问题

vba - 根据第 1 行中的列名自动调整 Excel 列宽

excel - 删除空单元格(上移)

excel - 使用 EPPlus 返回 Task<IHttpActionResult> 中的 xlsx 数据

c# - 在 MVC4 和类库之间共享 session 的最佳方式

c# - 获取导致 DbEntityValidationException 的 ValidationAttribute 类型

excel - 如何使用 XLSX 将单行附加到 Excel 文件?

c# - 如何使用 EPPlus 将 excel 条形图上的数据标签更改为 inside base?

c# - EPPlus 返回#VALUE!与公式 OFFSET、INDIRECT 和 MATCH 一起使用时代替单元格内容