djb*_*ois 3 c# excel office-interop closedxml
我正在使用 ClosedXML 为 Excel 中的人员制作报告。我有 3 个问题需要帮助。
1)我这里有这段代码,这样我就可以访问工作簿中的数据。除非有人打开该工作簿,否则它可以正常工作。如果可能的话,我不在乎它是否打开只读副本,因为我所做的只是从中访问信息。
var WorkbookCopyFrom = new XLWorkbook(WorksheetToCopy);
Run Code Online (Sandbox Code Playgroud)
即使有人打开了,我怎样才能打开它?
2)在我之前的公司,我使用Office Interop Nuget包来做类似的事情。在该包中,我能够在使用以下代码处理 Excel 文件时显示该文件:
excelApp.Visible = true;
Run Code Online (Sandbox Code Playgroud)
ClosedXML 中有类似的东西吗?
我偶然发现了同样的问题。解决方法可以是打开 FileStream 而不是直接打开文件。
public void LoadDocumentReadOnly(string fn)
{
filename = fn;
fileStream = new FileStream(fn, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
Document = new XLWorkbook(fileStream);
}
Run Code Online (Sandbox Code Playgroud)
更新:我没有包含变量声明,因为该方法位于类内部。这 3 个变量是类成员。