Skip to content

Table 表格 - 打印表格

通过内置的打印功能,可以将表格数据以美观的格式打印输出,支持自定义标题、页眉页脚、指定列、分页切割、打印多张表格和自定义模板等。

打印表格

最基础的打印方式,通过组件实例方法 print() 在新窗口中生成打印预览。

序号
姓名
年龄
部门
薪资
状态
地址
1
张三
28
技术部
15000
在职
北京市朝阳区
2
李四
32
产品部
18000
在职
上海市浦东新区
3
王五
25
设计部
14000
离职
广州市天河区
4
赵六
35
运营部
22000
在职
深圳市南山区
5
钱七
29
市场部
16000
在职
杭州市西湖区
打印表格

自定义顶部和底部

通过 headerHtmlfooterHtml 自定义打印页面的顶部和底部内容。

序号
姓名
年龄
部门
薪资
状态
地址
1
张三
28
技术部
15000
在职
北京市朝阳区
2
李四
32
产品部
18000
在职
上海市浦东新区
3
王五
25
设计部
14000
离职
广州市天河区
4
赵六
35
运营部
22000
在职
深圳市南山区
5
钱七
29
市场部
16000
在职
杭州市西湖区
自定义顶部和底部

高级打印

可配置标题、序号、时间、条数、纸张方向等多种选项。

标题:
序号
姓名
年龄
部门
薪资
状态
地址
1
张三
28
技术部
15000
在职
北京市朝阳区
2
李四
32
产品部
18000
在职
上海市浦东新区
3
王五
25
设计部
14000
离职
广州市天河区
4
赵六
35
运营部
22000
在职
深圳市南山区
5
钱七
29
市场部
16000
在职
杭州市西湖区
高级打印

指定列

通过勾选控制需要打印的列。

打印列:
序号
姓名
年龄
部门
薪资
状态
地址
1
张三
28
技术部
15000
在职
北京市朝阳区
2
李四
32
产品部
18000
在职
上海市浦东新区
3
王五
25
设计部
14000
离职
广州市天河区
4
赵六
35
运营部
22000
在职
深圳市南山区
5
钱七
29
市场部
16000
在职
杭州市西湖区
指定列

自定义页眉/标题

通过 headerHtml 构建复杂的公司页眉,包含公司名、报表名、编号等。

序号
姓名
年龄
部门
薪资
状态
地址
1
张三
28
技术部
15000
在职
北京市朝阳区
2
李四
32
产品部
18000
在职
上海市浦东新区
3
王五
25
设计部
14000
离职
广州市天河区
4
赵六
35
运营部
22000
在职
深圳市南山区
5
钱七
29
市场部
16000
在职
杭州市西湖区
自定义页眉/标题

自定义页尾/页码

通过 footerHtml 添加制表人、审核人、日期等签名栏。

序号
姓名
年龄
部门
薪资
状态
地址
1
张三
28
技术部
15000
在职
北京市朝阳区
2
李四
32
产品部
18000
在职
上海市浦东新区
3
王五
25
设计部
14000
离职
广州市天河区
4
赵六
35
运营部
22000
在职
深圳市南山区
5
钱七
29
市场部
16000
在职
杭州市西湖区
自定义页尾

设置边距

通过 margin 配置打印页面的上、右、下、左边距。

上:右:下:左:
序号
姓名
年龄
部门
薪资
状态
地址
1
张三
28
技术部
15000
在职
北京市朝阳区
2
李四
32
产品部
18000
在职
上海市浦东新区
3
王五
25
设计部
14000
离职
广州市天河区
4
赵六
35
运营部
22000
在职
深圳市南山区
5
钱七
29
市场部
16000
在职
杭州市西湖区
设置边距

将表格切割为多页打印

通过 pageSize 设置每页最大行数,自动进行分页。配合 showPageNumber 显示页码。

序号
姓名
年龄
部门
薪资
状态
地址
1
员工1
22
技术部
12000
离职
北京市
2
员工2
23
产品部
12500
在职
上海市
3
员工3
24
设计部
13000
在职
广州市
4
员工4
25
运营部
13500
在职
深圳市
5
员工5
26
市场部
14000
离职
杭州市
6
员工6
27
技术部
14500
在职
北京市
7
员工7
28
产品部
15000
在职
上海市
8
员工8
29
设计部
15500
在职
广州市
9
员工9
30
运营部
16000
离职
深圳市
10
员工10
31
市场部
16500
在职
杭州市
11
员工11
32
技术部
17000
在职
北京市
12
员工12
33
产品部
17500
在职
上海市
13
员工13
34
设计部
18000
离职
广州市
14
员工14
35
运营部
18500
在职
深圳市
15
员工15
36
市场部
19000
在职
杭州市
16
员工16
22
技术部
19500
在职
北京市
17
员工17
23
产品部
20000
离职
上海市
18
员工18
24
设计部
20500
在职
广州市
19
员工19
25
运营部
21000
在职
深圳市
20
员工20
26
市场部
21500
在职
杭州市
分页打印

打印多张表格

通过 printMultiple 方法一次打印多张不同数据的表格,每张表自动分页。

序号
姓名
年龄
部门
薪资
状态
地址
1
张三
28
技术部
15000
在职
北京市朝阳区
2
李四
32
产品部
18000
在职
上海市浦东新区
3
王五
25
设计部
14000
离职
广州市天河区
4
赵六
35
运营部
22000
在职
深圳市南山区
5
钱七
29
市场部
16000
在职
杭州市西湖区
打印多张表格

打印出货单

通过 printTemplate 方法可以打印完全自定义的 HTML 模板,如出货单、发票、报表等。

使用 printTemplate 方法可以打印完全自定义的 HTML 模板,如出货单、发票等。

打印出货单

API

参数说明类型默认值
title打印标题string
showIndex是否显示序号booleanfalse
indexTitle序号列标题string'序号'
columns指定打印列(prop 数组)string[]全部可见列
excludeColumns排除列string[]
data自定义打印数据Record<string, unknown>[]当前数据
formatCell格式化单元格(value, column, row) => string
headerHtml自定义页眉 HTMLstring
footerHtml自定义页脚 HTMLstring
margin页边距{ top?, right?, bottom?, left? }10mm
orientation纸张方向'portrait' | 'landscape''portrait'
showTime是否显示打印时间booleantrue
showCount是否显示数据条数booleantrue
columnTitles自定义列标题Record<string, string>
pageSize每页最大行数number
showPageNumber是否显示页码booleanfalse
tableStyle自定义表格样式string
extraCss额外 CSSstring
autoPrint自动弹出打印对话框booleanfalse
beforePrint打印前回调() => boolean
afterPrint打印后回调() => void

printMultiple(tables, config?) 方法

打印多张表格,每张表自动分页。

参数说明类型
tables表格配置数组Array<{ title?, data, columns?, config? }>
config全局配置print(config)

printTemplate(html, config?) 方法

打印完全自定义的 HTML 模板。

参数说明类型
html自定义 HTML 内容string
config打印配置print(config)

注意事项

  • 打印功能依赖 window.open(),请确保浏览器允许弹窗
  • 打印样式通过内联 CSS 实现,确保在打印预览中正确渲染
  • 使用 @page CSS 规则控制纸张方向和边距
  • 分页使用 page-break-after: always 实现
  • autoPrint: true 可以打开窗口后自动弹出打印对话框

Released under the MIT License.