Распечатать файл Excel, используя ProcessStartInfo - PullRequest
0 голосов
/ 22 октября 2018

Я пытался напечатать файлы Excel с консольным приложением c #, используя приведенный ниже код.

try
        {
            Process p = new Process();
            p.StartInfo = new ProcessStartInfo()
            {
                CreateNoWindow = true,
                WindowStyle = ProcessWindowStyle.Hidden,
                Verb = "printTo",
                Arguments = printerName,
                FileName = printpath
            };
            p.Start();

            p.WaitForExit(10000);
            int counter = 0;
            while (!p.HasExited)
            {
                System.Threading.Thread.Sleep(1000);
                counter += 1;
                if (counter == 5) break;
            }
            if (!p.HasExited)
            {
                p.CloseMainWindow();
                p.Kill();
            }


        }
        catch (Exception ex) { Console.WriteLine(ex.Message);  }

После печати файл Excel не закрывается. Файл остается как на картинке. введите описание изображения здесь

Я получил "Нет процесса, связанного с этим объектом."ошибка при вызове p.HasExited ().

Когда я пробовал документ pdf или word, они закрываются правильно.Как я могу решить эту проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...