[英]Print Excel Worksheet/Workbook
我正在嘗試提高C#Winform項目的性能。
以前,生成Excel文件的時間為100000ms(使用Office.Interop.Excel)。 使用ClosedXml大約需要5000 毫秒 。 非常好。 但是現在我需要打印此Excel文檔(僅工作表或整個工作簿)
我之前是這樣做的(使用Office互操作):
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兼容文件的庫為“ 無頭 ”。
它們中的代碼可用於以Excel(和兼容應用程序)可以理解的格式寫入數據,但是它們通常不提供(鏈接到)用戶界面,也不提供將Excel文件的內容呈現給另一個用戶的方法。文件格式或打印機。 因為那超出了庫的范圍。 讀寫文件是一回事,正確呈現其內容是另一回事。
有一些庫支持打印Excel文件,例如Aspose 。
使用庫生成文檔時,始終只能使用interop進行打印 。 或者,您可以將“ print”動詞發送到Excel ,該動詞將使用默認設置打印到默認打印機。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.