JXL的打印設置在jxl.SheetSettings這個類中,我們可以通過方法Sheet(或者WritableSheet)#getSettings()獲取。
1.頁面
1.1方向
SheetSetting#setOrientation(PageOrientation po);
參數: PageOrientation#LANDSCAPE 橫向打印
PageOrientation# PORTRAIT 縱向打印
1.2縮放
1.2.1縮放比例(A) SheetSetting #setScaleFactor (int);百分比形式
1.2.2調整(F)
頁寬 SheetSetting #setFitWidth(int);
頁高 SheetSetting #setFitHeight(int);
1.3紙張大小(Z) SheetSetting #setPaperSize (PaperSize);
紙張大小的定義說明參見PaperSize類中的常量。
1.4起始頁碼(R) SheetSetting #setPageStrart(int);[默認狀態]
2頁面距
2.1上(T) SheetSetting # setTopMargin (double);
2.2下(B) SheetSetting # setBottomMargin (double);
2.3左(L) SheetSetting # setLeftMargin (double);
2.4右(R) SheetSetting # setRightMargin (double);
2.5頁眉(A) SheetSetting #setHeaderMargin(double);
2.6頁腳(F) SheetSetting #setFooterMargin(double);
2.7居中方式
2.7.1水平(Z) SheetSetting # setHorizontalCentre (boolean);
2.7.2垂直(V) SheetSetting #setVerticallyCenter(boolean);
3頁眉/頁腳
3.1頁眉SheetSetting # setHeader(HeaderFooter);
說明:
對于HeaderFooter的設置,首先確定頁眉的位置(左、中、右),通過HeaderFooter#getCentre()(或者getLeft()、getRight())方法獲取HeaderFooter.Contents類,之后對這個類的屬性進行操作。
下面簡單介紹幾個常用方法:
設置字號:Contents#setFontSize(int)
設置字體:Contents#setFontName(String)
設置內容:Contents# append(String),還有appendDate()當前日期等等,具體參考Contents類說明
3.2頁腳SheetSetting # setFooter(HeaderFooter);
說明同上
4工作表
4.1打印區域
SheetSettings #setPrintArea(firstCol, firstRow, lastCol, lastRow)
4.2打印標題
SheetSettings#setPrintTitles (firstRow,lastRow,firstCol,lastCol);
SheetSettings#setPrintTitlesCol(firstCol,lastCol)
SheetSettings#setPrintTitlesRow(firstRow,lastRow)
另有一些其他的設置可在JXL API中找到,不多說了。
附件:通常在Excel中設置好打印,再將其讀出來設置到當前頁中來,附上代碼:
在向Sheet頁寫數據之前:

2

3

4

5

6

7

8


2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

1.頁面
1.1方向
1.1.1縱向(T)HSSFPrintSetup#setLandscape(false); [默認狀態]
1.1.2橫向(L)HSSFPrintSetup#setLandscape(true);
1.2縮放
1.2.1縮放比例(A)HSSFPrintSetup#setScale((short) 100);[默認狀態]
1.2.2調整(F)
頁寬 HSSFPrintSetup#setFitWidth((short) 1);
頁高 HSSFPrintSetup#setFitHeight((short) 0);
1.3紙張大小(Z)HSSFPrintSetup#setPageSize(HSSFPrintSetup.LETTER_PAPERSIZE);
紙張大小的定義說明:
public static final short LETTER_PAPERSIZE = 1;
public static final short LEGAL_PAPERSIZE = 5;
public static final short EXECUTIVE_PAPERSIZE = 7;
public static final short A4_PAPERSIZE = 9;
public static final short A5_PAPERSIZE = 11;
public static final short ENVELOPE_10_PAPERSIZE = 20;
public static final short ENVELOPE_DL_PAPERSIZE = 27;
public static final short ENVELOPE_CS_PAPERSIZE = 28;
public static final short ENVELOPE_MONARCH_PAPERSIZE = 37;
1.4打印質量(Q)HSSFPrintSetup#setVResolution((short) 300)
1.5起始頁碼(R)HSSFPrintSetup#setPageStrart((short) 0);[默認狀態]
2頁面距
2.1上(T)HSSFSheet#setMargin(HSSFSheet.TopMargin,(short)0.6);
2.2下(B)HSSFSheet#setMargin(HSSFSheet.BottomMargin,(short)0.6);
2.3左(L)HSSFSheet#setMargin(HSSFSheet.LeftMargin,(short)0.6);
2.4右(R)HSSFSheet#setMargin(HSSFSheet.RightMargin,(short)0.2);
2.5頁眉(A)HSSFPrintSetup#setHeaderMargin((double)0.2);
2.6頁腳(F)HSSFPrintSetup#setFooterMargin((double)0.6);
2.7居中方式
2.7.1水平(Z)HSSFSheet#setHorizontallyCenter(false);
2.7.2垂直(V)HSSFSheet#setVerticallyCenter(false);
3頁眉/頁腳
3.1頁眉HSSFHeader#setLeft(HSSFHeader.date();
說明:
首先獲得HSSFHeader對象
確定頁眉的顯示位置(如,左邊顯示頁眉HSSFHeader#setLeft(顯示內容))
可使用HSSFHeader#setLeft,setCenter,setRight
3.2頁腳HSSFFotter#setLeft(HSSFFotter.page()+”/”+HSSFFotter.numPages());
說明同3.1
首先獲得HSSFFotter對象
確定頁眉的顯示位置(如,左邊顯示頁眉HSSFFotter#setLeft(顯示內容))
可使用HSSFFotter#setLeft,setCenter,setRight
4工作表
4.1打印區域
HSSFWorkbook#setPrintArea(intsheetIndex,
intstartColumn,
intendColumn,
intstartRow,
intendRow);
參數的說明
sheetIndex–從0開始的sheet的索引編號
startColumn-打印區域的開始列號
endColumn-打印區域的結束列號
startRow-打印區域的開始行號
endRow-打印區域的結束行號
4.2打印標題
HSSFWorkbook#setRepeatingRowsAndColumns(intsheetIndex,
intstartColumn,
intendColumn,
intstartRow,
intendRow);
參數說明同4.1
使用說明:
僅僅設置左端標題列:
workbook.setRepeatingRowsAndColumns(0,0,1,-1-1);
僅僅設置頂端標題行:
workbook.setRepeatingRowsAndColumns(0,-1,-1,0,4);
同時設置左端和頂端標題:
workbook.setRepeatingRowsAndColumns(0,-1,-1,-1,-1);
4.3打印
網格線(G):HSSFSheet#setPrintGridlines(false);
單色打印(B)HSSFPrintSetup#setNoColor(false);
按草稿方式(Q):HSSFPrintSetup#setDraft(false);
行號列標(L):(很抱歉,還沒有找到)
批注(M):(很抱歉,還沒有找到)
錯誤單元格打印為(E):(很抱歉,還沒有找到)
4.4打印順序
HSSFPrintSetup#setLeftToRight(false);