Spreadsheetgear保持对文件的锁定

本文关键字:锁定 文件 Spreadsheetgear | 更新日期: 2023-09-27 18:29:05

通过C#/ASP.NET网站,我使用SpreadsheetGear从模板中打开一个文件,然后根据用户输入对其进行修改,然后将其保存到新位置。当我尝试在保存后手动打开新创建的文件时,我会收到一条消息,说明SpreadsheetGear已锁定文件进行编辑。

以下是代码片段:

SpreadsheetGear.IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook(pathToTemplate);
workbook.WorkbookSet.GetLock();
SpreadsheetGear.IWorksheet worksheet = workbook.Worksheets["sheetName"];
SpreadsheetGear.IRange cells = worksheet.Cells;
//fill in worksheet
...
workbook.SaveAs(pathToGeneratedFiles + exportFileName, SpreadsheetGear.FileFormat.XLS97);
workbook.WorkbookSet.ReleaseLock();
worksheet = null;
workbook.Close();
workbook = null;

在未显示的"填写工作表"部分,我唯一能想到的甚至有些棘手的事情就是删除一列并将其他列向左移动。

有什么想法吗?谢谢

Spreadsheetgear保持对文件的锁定

您在不使用GetLock()的情况下尝试过吗?在进行asp.net编程时通常不使用GetLock()。根据网站文档,

使用工作簿时不需要使用GetLock和ReleaseLock未附加到中任何Windows窗体组件的集合电子表格齿轮。

所以,它原来是我项目的bin文件夹中SpreadsheetGear DLL的旧副本。一旦我们更新了它,问题就消失了。谢谢你的帮助。