我有一个构建Excel报告的过程,然后为用户打开它.问题是如果有人将文件保持打开状态,它会保持锁定状态,并且在第一个人退出excel文件之前,没有其他人可以构建报告.
有没有办法打开Excel文件而不使用它Process.Start或Microsoft的Interop.Excel库锁定它?
我每次运行报表时都使用Interop库来构建文件,并将其作为静态文件名保存在运行此应用程序的共享网络文件夹中
using Excel = Microsoft.Office.Interop.Excel;
...
xlsBook.SaveAs(newFileName, Excel.XlFileFormat.xlWorkbookNormal);
Run Code Online (Sandbox Code Playgroud)
并使用打开文件 Process.Start
Process.Start(newFileName);
Run Code Online (Sandbox Code Playgroud)
您可以尝试以只读模式打开文件:
var app = new Microsoft.Office.Interop.Excel.Application();
var workbook = app.Workbooks.Open(filename, ReadOnly: true);
Run Code Online (Sandbox Code Playgroud)
或者您可以尝试以共享模式保存它:
workbook.SaveAs(filename, AccessMode: XlSaveAsAccessMode.xlShared);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15052 次 |
| 最近记录: |