2017-04-05 84 views
1

我有一個wpf應用程序,用於打開/創建excel文件並讀取/寫入它們。在正常的應用程序運行方式下,向用戶顯示Excel窗口no阻止顯示的Excel應用程序

的情景:

通過我的申請,我瀏覽到Excel文件 「AAA.xlsx」,和應用程序加載它。然後,我嘗試瀏覽到另一個excel文件,,但在瀏覽窗口上選擇excel文件「BBB.xlsx」,右鍵點擊它並選擇打開,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文件。

回答

0

我想你是指單獨的Excel實例。

請嘗試以下操作。

Process process = new Process(); 
Process.Start("Excel.exe", myExcelFile); 

另一種選擇是,如果你使用互操作(即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); 
+0

感謝您的意見,但我認爲您錯過了我的觀點。我不希望加載到我的應用程序的excel文件被啓動並且對用戶可見。您的代碼在我描述的場景中沒有任何區別。 – Madenis