从显示中阻止Excel应用程序

时间:2017-04-05 13:11:00

标签: c# wpf excel

我有一个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文件在用户屏幕上不可见。

1 个答案:

答案 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);
相关问题