XLSX 模板导出是一个基于 xlsx-template 的 Excel 文档生成工具,它允许用户使用预先设计好的 Excel 模板,结合 Excel 或 CSV 数据源,批量生成个性化的 Excel 文档。
本工具使用 xlsx-template 作为核心渲染引擎,这是目前成熟的 JavaScript Excel 模板库之一,支持:
点击「下载模板」按钮,选择 CSV 或 Excel 格式,下载包含示例字段的数据模板。
在模板中填入你的数据,确保列名与你将在模板中使用的字段名一致。
点击「上传数据文件」,选择你准备好的 CSV 或 Excel 文件。
系统会自动检测文件中的字段并显示。
如果你的数据文件包含标题行或其他不需要的行,可以设置忽略前 N 行。
在 Excel 中设计你的模板,使用 ${字段名} 作为占位符。
例如:
${name}${items}${table:items.name}点击「上传 XLSX 模板」,选择你设计好的 Excel 模板文件。
使用 {字段名} 作为占位符,例如 {name}-{日期}。
系统会根据前 3 行数据预览生成的文件名。
点击「渲染」按钮,系统会为每一行数据生成一份 Excel 文档。
window.ExcelJS 加载(非 ES Module import),需要提前在 HTML 中引入用户数据 (CSV / Excel)
↓
数据解析层 (papaparse / xlsx)
↓
JSON 数据数组 [{行1字段...}, {行2字段...}, ...]
↓
模板渲染层 (exceljs — workbook.xlsx.load + 逐个Sheet/Row填充)
↓
XLSX 文件生成 (Buffer)
↓
文件下载 (file-saver) 或 ZIP 打包 (jszip)
模板中使用单层花括号 {field_name} 标记占位符:
// 文件名模板验证逻辑 — 支持 {字段名} 格式
function validateFilenameTemplate(template: string): { valid: boolean; error?: string } {
// 检查花括号匹配、空占位符、非法字符
const re = /\{([^}]+)\}/g
}
{name} → 替换为数据行中 name 字段的值{城市} → 支持中文字段名// 使用 exceljs 加载模板并逐行填充
declare global {
interface Window {
ExcelJS: typeof import('exceljs')
}
}
// 渲染流程:load template → for each data row → clone template sheet → fill cells → write buffer
// 多行数据生成同名文件时自动追加序号
function sanitizeFilename(name: string): string {
return name.replace(/[\\/:*?"<>|]/g, '-').replace(/\s+/g, ' ').trim() || '未命名'
}
window.ExcelJS 对象,需确保 public/exceljs.min.js 已正确加载使用xlsx-template将CSV/Excel数据填充到Excel模板,批量生成个性化文档
下载包含示例字段名的数据模板,在模板中填入你的数据。
支持 CSV 和 Excel 格式
用于忽略CSV/Excel中的标题行或其他不需要的数据行
上传包含 ${field_name} 占位符的 Excel 模板
支持 {字段名} 占位符,如 {name}-{日期}
${字段名} 格式答:检查占位符格式是否正确,确保字段名与数据列名完全一致。
答:确保模板文件是有效的 .xlsx 格式,没有损坏。
答:系统会自动处理,渲染完成后打包成 ZIP 下载。
答:支持 .xlsx 格式(Excel 2007 及以上),不支持旧版 .xls 格式。
鼠标悬停查看各省份的访问数据统计
所有评论均为匿名发布