2.17. 设置工作表页面布局
设置工作表页面布局
func (f *File) SetPageLayout(sheet string, opts *PageLayoutOptions) error
根据给定的工作表名称和页面布局参数设置工作表的页面布局属性。目前支持设置的页面布局属性:
Size 属性用以指定页面纸张大小,默认页面布局大小为“信纸 8½ × 11 英寸”。下面的表格是 Excelize 中页面布局大小和索引 Size 参数的关系对照:
| 索引 | 纸张大小 |
|---|---|
| 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 毫米 |
Orientation 属性用以指定页面布局方向,默认页面布局方向为“纵向”,可选值为 portrait 和 landscape。
FirstPageNumber 属性用以指定页面起始页码,默认为自动。
AdjustTo 属性用以指定页面缩放比例,取值范围 10 至 400,即缩放 10% 至 400%,默认值为 100 正常尺寸。FitToHeight 或 FitToWidth 的设置会覆盖此属性。
FitToHeight 属性用以指定页面缩放调整页宽,默认值为 1。
FitToWidth 属性用以指定页面缩放调整页高,默认值为 1。
BlackAndWhite 属性用以指定单色打印,默认为关闭。
例如,将名为 Sheet1 的工作表页面布局设置为单色打印、起始页码为 2、横向、使用 A4(小) 210 × 297 毫米纸张并调整为 2 页宽、2 页高:
f := excelize.NewFile()
var (
size = 10
orientation = "landscape"
firstPageNumber uint = 2
adjustTo uint = 100
fitToHeight = 2
fitToWidth = 2
blackAndWhite = true
)
if err := f.SetPageLayout("Sheet1", &excelize.PageLayoutOptions{
Size: &size,
Orientation: &orientation,
FirstPageNumber: &firstPageNumber,
AdjustTo: &adjustTo,
FitToHeight: &fitToHeight,
FitToWidth: &fitToWidth,
BlackAndWhite: &blackAndWhite,
}); err != nil {
fmt.Println(err)
}
Excelize 开发者指南
关于 LearnKu
推荐文章: