设置工作表页面布局
func (f *File) SetPageLayout(sheet string, opts ...PageLayoutOption) error
根据给定的工作表名称和页面布局参数设置工作表的页面布局属性。目前支持设置的页面布局属性:
通过
BlackAndWhite
方法设置单色打印true
或false
,默认值为false
关闭。通过
FirstPageNumber
方法设置页面起始页码,默认为自动。通过
PageLayoutOrientation
方法设置页面布局方向,默认页面布局方向为“纵向”。下面的表格是 Excelize 中页面布局方向PageLayoutOrientation
参数的列表:
参数 | 方向 |
---|---|
OrientationPortrait | 纵向 |
OrientationLandscape | 横向 |
- 通过
PageLayoutPaperSize
方法设置页面纸张大小,默认页面布局大小为“信纸 8½ × 11 英寸”。下面的表格是 Excelize 中页面布局大小和索引PageLayoutPaperSize
参数的关系对照:
索引 | 纸张大小 |
---|---|
1 | 信纸 8½ × 11 英寸 |
2 | 简式信纸 8½ × 11 英寸 |
3 | 卡片 11 × 17 英寸 |
4 | 账单 17 × 11 英寸 |
5 | 律师公文纸 8½ × 14 英寸 |
6 | 报告单 5½ × 8½ 英寸 |
7 | 行政公文纸 7½ × 10 英寸 |
8 | A3 297 × 420 毫米 |
9 | A4 210 × 297 毫米 |
10 | A4(小) 210 × 297 毫米 |
11 | A5 148 × 210 毫米 |
12 | B4 250 × 353 毫米 |
13 | B5 176 × 250 毫米 |
14 | 对开本 8½ × 13 英寸 |
15 | 四开 215 × 275 毫米 |
16 | 美式标准纸张 10 × 14 英寸 |
17 | 美式标准纸张 11 × 17 英寸 |
18 | 便签 8.5 × 11 英寸 |
19 | 信封 #9 3.875 × 8.875 英寸 |
20 | 信封 #10 4⅛ × 9½ 英寸 |
21 | 信封 #11 4.5 × 10.375 英寸 |
22 | 信封 #12 4.75 × 11 英寸 |
23 | 信封 #14 5 × 11.5 英寸 |
24 | C paper 17 × 22 英寸 |
25 | D paper 22 × 34 英寸 |
26 | E paper 34 × 44 英寸 |
27 | 信封 DL 110 × 220 毫米 |
28 | 信封 C5 162 × 229 毫米 |
29 | 信封 C3 324 × 458 毫米 |
30 | 信封 C4 229 × 324 毫米 |
31 | 信封 C6 114 × 162 毫米 |
32 | 信封 C65 114 × 229 毫米 |
33 | 信封 B4 250 × 353 毫米 |
34 | 信封 B5 176 × 250 毫米 |
35 | 信封 B6 176 × 125 毫米 |
36 | 信封 Italy 110 × 230 毫米 |
37 | 君主式信封 3.88 × 7.5 英寸 |
38 | 6¾ 信封 3.625 × 6.5 英寸 |
39 | 美国标准 fanfold 14.875 × 11 英寸 |
40 | 德国标准 fanfold 8.5 × 12 英寸 |
41 | 德国法律专用纸 fanfold 8.5 × 13 英寸 |
42 | ISO B4 250 × 353 毫米 |
43 | 日式明信片 100 × 148 毫米 |
44 | Standard paper 9 × 11 英寸 |
45 | Standard paper 10 × 11 英寸 |
46 | Standard paper 15 × 11 英寸 |
47 | 邀请信 220 × 220 毫米 |
50 | 信纸加大 9.275 × 12 英寸 |
51 | 特大法律专用纸 9.275 × 15 英寸 |
52 | Tabloid extra paper 11.69 × 18 英寸 |
53 | A4 特大 236 × 322 毫米 |
54 | 信纸横向旋转 8.275 × 11 英寸 |
55 | A4 横向旋转 210 × 297 毫米 |
56 | 信纸特大横向旋转 9.275 × 12 英寸 |
57 | SuperA/SuperA/A4 paper 227 × 356 毫米 |
58 | SuperB/SuperB/A3 paper 305 × 487 毫米 |
59 | 信纸加大 8.5 × 12.69 英寸 |
60 | A4 加大 210 × 330 毫米 |
61 | A5 横向旋转 148 × 210 毫米 |
62 | JIS B5 横向旋转 182 × 257 毫米 |
63 | A3 特大 322 × 445 毫米 |
64 | A5 特大 174 × 235 毫米 |
65 | ISO B5 特大 201 × 276 毫米 |
66 | A2 420 × 594 毫米 |
67 | A3 横向旋转 297 × 420 毫米 |
68 | A3 特大横向旋转 322 × 445 毫米 |
69 | 双层日式明信片 200 × 148 毫米 |
70 | A6 105 × 148 毫米 |
71 | 日式信封 Kaku #2 |
72 | 日式信封 Kaku #3 |
73 | 日式信封 Chou #3 |
74 | 日式信封 Chou #4 |
75 | 信纸横向旋转 11 × 8½ 英寸 |
76 | A3 横向旋转 420 × 297 毫米 |
77 | A4 横向旋转 297 × 210 毫米 |
78 | A5 横向旋转 210 × 148 毫米 |
79 | B4 (JIS) 横向旋转 364 × 257 毫米 |
80 | B5 (JIS) 横向旋转 257 × 182 毫米 |
81 | 日式明信片 横向旋转 148 × 100 毫米 |
82 | 双层日式明信片 横向旋转 148 × 200 毫米 |
83 | A6 横向旋转 148 × 105 毫米 |
84 | 日式信封 Kaku #2 横向旋转 |
85 | 日式信封 Kaku #3 横向旋转 |
86 | 日式信封 Chou #3 横向旋转 |
87 | 日式信封 Chou #4 横向旋转 |
88 | B6 (JIS) 128 × 182 毫米 |
89 | B6 (JIS) 横向旋转 182 × 128 毫米 |
90 | 12 × 11 英寸 |
91 | 日式信封 You #4 |
92 | 日式信封 You #4 横向旋转 |
93 | 中式 16 开 146 × 215 毫米 |
94 | 中式 32 开 97 × 151 毫米 |
95 | 中式大 32 开 97 × 151 毫米 |
96 | 中式信封 #1 102 × 165 毫米 |
97 | 中式信封 #2 102 × 176 毫米 |
98 | 中式信封 #3 125 × 176 毫米 |
99 | 中式信封 #4 110 × 208 毫米 |
100 | 中式信封 #5 110 × 220 毫米 |
101 | 中式信封 #6 120 × 230 毫米 |
102 | 中式信封 #7 160 × 230 毫米 |
103 | 中式信封 #8 120 × 309 毫米 |
104 | 中式信封 #9 229 × 324 毫米 |
105 | 中式信封 #10 324 × 458 毫米 |
106 | 中式 16 开 横向旋转 |
107 | 中式 32 开 横向旋转 |
108 | 中式大 32 开 横向旋转 |
109 | 中式信封 #1 横向旋转 165 × 102 毫米 |
110 | 中式信封 #2 横向旋转 176 × 102 毫米 |
111 | 中式信封 #3 横向旋转 176 × 125 毫米 |
112 | 中式信封 #4 横向旋转 208 × 110 毫米 |
113 | 中式信封 #5 横向旋转 220 × 110 毫米 |
114 | 中式信封 #6 横向旋转 230 × 120 毫米 |
115 | 中式信封 #7 横向旋转 230 × 160 毫米 |
116 | 中式信封 #8 横向旋转 309 × 120 毫米 |
117 | 中式信封 #9 横向旋转 324 × 229 毫米 |
118 | 中式信封 #10 横向旋转 458 × 324 毫米 |
通过
FitToHeight
方法设置页面缩放调整页宽,默认值为1
。通过
FitToWidth
方法设置页面缩放调整页高,默认值为1
。通过
PageLayoutScale
方法设置页面缩放比例,取值范围 10 至 400,即缩放 10% 至 400%,默认值为100
正常尺寸。例如,将名为
Sheet1
的工作表页面布局设置为单色打印、起始页码为2
、横向、使用 A4(小) 210 × 297 毫米纸张、调整为 2 页宽、2 页高并缩放 50%:
f := excelize.NewFile()
if err := f.SetPageLayout(
"Sheet1",
excelize.BlackAndWhite(true),
excelize.FirstPageNumber(2),
excelize.PageLayoutOrientation(excelize.OrientationLandscape),
excelize.PageLayoutPaperSize(10),
excelize.FitToHeight(2),
excelize.FitToWidth(2),
excelize.PageLayoutScale(50),
); err != nil {
fmt.Println(err)
}