C 設定Excel列印選項及列印excel文件

2021-07-11 21:37:42 字數 2709 閱讀 9714

c# 設定excel列印選項及列印excel文件

列印excel文件是乙個很常見的操作,但有時候我們會碰到各種不同的列印需求,例如只列印乙個excel工作表的其中一部分,或列印時每頁都有表頭,或把工作表中超出1頁所有內容列印到1頁上等等,這時我們需要對excel的列印選項進行設定。這篇文章主要是分享如何使用excel元件及c#來設定一些常見的excel列印選項及列印excel文件。

下面這個excel工作表共含有17行,20列資料:

目標:將第7,8行的所有資料列印到一頁上,並列印表頭(標題行)。

建立乙個winform專案,使用如下命名空間:

using system;

using system.drawing.printing;

using system.windows.forms;

using spire.xls;

步驟1:建立乙個新的workbook物件並載入excel文件。

workbook workbook = new workbook();

workbook.loadfromfile("sample.xlsx");

步驟2:獲取該excel文件的第乙個工作表,並設定列印選項。

worksheet sheet = workbook.worksheets[0];
下面列出幾個常設定的列印選項:

設定列印區域/範圍:

sheet.pagesetup.printarea = "a7:t8";
設定列印表頭(標題行):

sheet.pagesetup.printtitlerows = "$1:$1";
設定excel工作表縮放為一頁寬一頁高:

sheet.pagesetup.fittopageswide = 1;

sheet.pagesetup.fittopagestall = 1;

這裡可以設定它們的值為0或1來改變列印效果以滿足不同需求。

除此之外還可以設定頁面方向及列印頁面大小等:

設定頁面方向:

sheet.pagesetup.orientation =pageorientationtype.portrait;
設定列印頁面大小:

sheet.pagesetup.*****size =*****sizetype.*****a3;
步驟3:建立乙個新的printdialog物件,設定dialog屬性及列印頁面範圍並列印文件。

printdialog dialog = new printdialog();

dialog.allowprinttofile = true;

dialog.allowcurrentpage = true;

dialog.allowsomepages = true;

dialog.allowselection = true;

dialog.useexdialog = true;

dialog.printersettings.duplex = duplex.******x;

dialog.printersettings.frompage = 0;

dialog.printersettings.topage = 8;

dialog.printersettings.printrange = printrange.somepages;

workbook.printdialog = dialog;

printdocument pd =workbook.printdocument;

if (dialog.showdialog() == dialogresult.ok)

執行程式會出現如下對話方塊:

這裡我選擇microsoftxps document writer將這個excel文件列印為xps格式,得到的xps檔案如下:

全部**:

using system;

using system.drawing.printing;

using system.windows.forms;

using spire.xls;

namespace print_excel_in_csharp

private voidbutton1_click(object sender, eventargs e)}}

}

NPOI匯出EXCEL 列印設定分頁及列印標題

在用npoi匯出excel的時候設定分頁,在網上有查到用sheet1.setrowbreak i 方法,但一直都沒有起到作用。經過研究是要設定 sheet1.fittopage false 而這個屬性預設是true的,怪不得一直設定都不起作用。設定列印標題用 hssfworkbook.setrepe...

jxl 列印excel,樣式設定

運用jxl匯出excel,並設定一些列印的樣式 hj 評委總人數為 string.valueof zs 性別 男 string.valueof ns 女 string.valueof zs ns wsheet.mergecells 0,1,10,1 合併0到10單元格 jxl.write.label...

JXL設定Excel的列印範圍

jxl中設定excel檔案的列印範圍方法。writablesheet sheet workbook.getsheet 0 sheetsettings setting sheet.getsettings 設定列印範圍 右上的列號和行號,左下的列號和行號 setting.setprintarea 1,2...