从显示中阻止Excel应用程序

我有一个wpf应用程序打开/创buildexcel文件和读取/写入他们。 在正常运行的应用程序中, 没有向用户显示excel窗口。

场景:

通过我的应用程序,我浏览到excel文件“AAA.xlsx”,然后应用程序加载它。 然后,我尝试浏览到另一个excel文件, 但在浏览窗口上,我selectexcel文件“BBB.xlsx”,右键单击它并select打开,Excel启动两个文件打开。

如果我做同样的例程,但事先我已经打开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文件。

我想你是指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);