Я пытаюсь улучшить производительность проекта C# Winform.Печать рабочего листа Excel/Workbook
Раньше генерация файла Excel осуществлялась в течение 100000 мс (с использованием Office.Interop.Excel). Использование ClosedXml составляет около 5000 мс. Действительно здорово. Но теперь мне нужно напечатать этот документ Excel (только рабочий лист или всю книгу)
я делал это раньше (с помощью офисного Interop):
public void PrintCurrentWorksheet()
{
this._activeWorksheet.PrintOut(Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
}
public void PrintWorkbook()
{
this._activeWorbook.PrintOut(Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
}
Но теперь типа _activeWorkbook
и _activeWorksheet
являются XLWorkbook
и IXLWorksheet
. Таким образом, нет метода Printout
. Я не мог найти метод печати, и я полагаю, что нет, потому что OpenXml не полагается на Excel. Я прав?
Я не смог найти команду Shell для печати рабочего листа.
Итак, есть ли простой способ распечатать рабочую книгу или рабочий лист без использования Interop?
«Настройки по умолчанию для принтера по умолчанию» Вы имеете в виду настройки по умолчанию для файла Excel? Поэтому я мог бы использовать «print verb» и ClosedXml 'PrintArea' для печати одного рабочего листа? – ZwoRmi
Не знаю, попробуй. :) – CodeCaster