我有一个构建 Excel 报告,然后为用户打开它的流程。问题是,如果有人让文件保持打开状态,则该文件将保持锁定状态,并且在第一个人退出 Excel 文件之前,其他人都无法生成报告。
有没有办法打开 Excel 文件而不锁定它,使用Process.Start
或微软的Interop.Excel
图书馆?
我使用 Interop 库在每次运行报告时构建文件,并将其作为静态文件名保存在运行该应用程序的共享网络文件夹中
using Excel = Microsoft.Office.Interop.Excel;
...
xlsBook.SaveAs(newFileName, Excel.XlFileFormat.xlWorkbookNormal);
并使用打开文件Process.Start
Process.Start(newFileName);
您可以尝试以只读模式打开该文件:
var app = new Microsoft.Office.Interop.Excel.Application();
var workbook = app.Workbooks.Open(filename, ReadOnly: true);
或者您可以尝试以共享模式保存:
workbook.SaveAs(filename, AccessMode: XlSaveAsAccessMode.xlShared);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)