Отправить файл Excel на принтер с помощью Process.Start - PullRequest
0 голосов
/ 18 октября 2018

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

    public static void printExcel(string printpath)
    {

        string printerName = String.Empty;
        for (int i = 0; i < PrinterSettings.InstalledPrinters.Count; i++)
        {
            string pName = PrinterSettings.InstalledPrinters[i];
            if (pName.Contains("PRINTER"))
            {
                printerName = pName;
                break;
            }
        }

        try
        {
            ProcessStartInfo info = new ProcessStartInfo(printpath); 
            info.Verb = "PrintTo";
            info.Arguments = printerName;
            info.CreateNoWindow = true;
            info.WindowStyle = ProcessWindowStyle.Hidden;
            Process.Start(info);

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

    }

Это консольное приложение будет работать как пакет.Таким образом, он должен быть запущен без какого-либо подсказки.Но во время работы приложения я получил ошибку Excel.Когда я нажимаю «да», Excel отправляется на принтер. введите описание изображения здесь Как я могу решить эту проблему?

1 Ответ

0 голосов
/ 18 октября 2018

Похоже, это о безопасном режиме Excel.Если файл приходит из какого-то другого источника, возможно, вам следует проверить.Можете ли вы попробовать проверить свойства файла xlsx?возможно, он заблокирован, и, возможно, вам нужно снять блокировку.

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