Excel 粘贴表格 e2table
约 558 字大约 2 分钟
...
2026-09-28
插件说明
@sv-print/plugin-ele-e2table Excel 粘贴表格打印元素插件:先从 Excel 中复制表格,再把鼠标放在元素上按 Ctrl/Command + V,即可把剪贴板中的表格 HTML 转为可分页的打印表格。
核心能力:
- 清洗 Excel 粘贴的 HTML(移除
x:前缀属性、@page 样式规则等) - 使用 css-tree 给样式选择器加
${e2tableId}前缀隔离,避免样式污染 - 表格内容支持
#{field}/#{obj.name}占位符,打印时替换为绑定数据 - 转换结果存入
options.formatter,样式存入options.tableStyle - 自动按表格实际尺寸同步元素宽高
第三方依赖:css-tree。
npm install @sv-print/plugin-ele-e2table示例代码
import pluginE2Table from "@sv-print/plugin-ele-e2table";
const plugins = [pluginE2Table({})];
await hiprint.register({ plugins }); // 须在创建模板/打开设计器之前使用流程:拖入「E2table」元素(默认 400x210,autoW / autoH 默认开启)→ 从 Excel 复制表格区域 → 鼠标置于元素上粘贴 → 自动生成表格并同步元素宽高。
高级用法
元素参数
| 参数 | 说明 |
|---|---|
e2tableId | 样式隔离前缀(随机 6 位字母,自动生成) |
autoW | 表格 width:100%(随元素宽度拉伸) |
autoH | 表格 height:100%(随元素高度拉伸) |
tableStyle | 粘贴时自动提取的表格样式(<style>),可微调 |
说明
- 样式注入:打印/预览(beforePrint)时把
globalThis.e2tableStyleMap中的表格样式注入 styleHandler,保证分页后样式生效 - 剪贴板内容不含
<table>时提示「剪贴板内容不是表格」,不写入内容 - 插件 config 支持
placeholder自定义未粘贴内容时的占位提示 html
版权所有
版权归属:sv-print
