Skip to content

Table 表格 - 打印表格

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

打印表格

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

打印表格

自定义顶部和底部

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

自定义顶部和底部

高级打印

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

高级打印

指定列

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

指定列

自定义页眉/标题

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

自定义页眉/标题

自定义页尾/页码

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

自定义页尾

设置边距

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

设置边距

将表格切割为多页打印

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

分页打印

打印多张表格

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

打印多张表格

打印出货单

通过 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.