почему openfiledialog вызывает добавление excel в процессы диспетчера задач? - PullRequest
1 голос
/ 01 апреля 2012

почему это приводит к открытию вхождения excel?

        OpenFileDialog openFileDialog1 = new OpenFileDialog();
        DialogResult result = openFileDialog1.ShowDialog(); // Show the dialog.
        if (result == DialogResult.OK) // Test result.
        {
            //EXCEL.EXE *32 is now showing in the task manager!

Я выбираю файл XLSX из openfiledialog и, как показано выше, вижу процесс в диспетчере задач..

Может кто-нибудь сказать, пожалуйста, как это возможно?

1 Ответ

1 голос
/ 01 апреля 2012

Если Excel уже открыт, вам следует попытаться получить этот экземпляр вместо создания нового.

using System.Runtime.InteropServices;

...

Excel.Application xl = null; 
try {
    // Try to get an existing instance
    xl = (Excel.Application)Marshal.GetActiveObject("Excel.Application"); 
} catch (COMException ex) { 
    // Excel was not open. Open a new instance
    xl = new Excel.ApplicationClass(); 
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...