我有一个wpf应用程序,可以打开/创建excel文件并读取/写入它们。在正常运行应用程序的方式中,向用户显示否 excel窗口。
情景:
通过我的应用程序,我浏览到excel文件&#34; AAA.xlsx&#34;,然后应用程序加载它。然后,我尝试浏览另一个excel文件,但在浏览窗口中我选择excel文件&#34; BBB.xlsx&#34;,右键单击它并选择打开,Excel启动时带< strong>两个文件都已打开。
如果我执行相同的例程,但事先我已经打开了Excel程序(加载或不加载文件),只会打开所选文件。
下面是构造函数
public ExcelManipulator()
{
excelApp = new Excel.Application();
excelApp.Visible = false; //not making any difference
excelApp.IgnoreRemoteRequests = true; //not making any difference
workbooks = excelApp.Workbooks;
workbook = workbooks.Open(path);
...
}
我的最终目标是我的应用程序加载的excel文件在用户屏幕上不可见。
答案 0 :(得分:0)
我认为你指的是单独的&#39;实例&#39;的Excel。
请尝试以下操作。
Process process = new Process();
Process.Start("Excel.exe", myExcelFile);
其他选项是,如果您使用Interop(即Microsoft.Office.Interop.Excel.dll),您可以按如下方式执行此操作。这将始终在新实例中打开文件。
Excel.Application excelApp = new Excel.Application();
excelApp.Visible = true;
string workbookPath = (@"C:\Sample.xlsx");
Excel.Workbook excelWorkbook = excelApp.Workbooks.Open(workbookPath,
0, false, 5, "", "", false, Excel.XlPlatform.xlWindows, "",
true, false, 0, true, false, false);