SuperAPI AI 工具集

xlsx-generator

办公与效率

查看项目

更新于 10-15 13:10

技能介绍

用途

XLSX Generator 用于以编程方式创建和操作 Excel XLSX 文件。当用户需要生成电子表格、修改 XLSX 模板、提取表格内容时可以使用本技能。它适合自动化电子表格生成工作流,例如报表、数据导出、财务报表,以及用动态内容填充品牌模板并保留格式。

不适用场景:用户只想打开或查看电子表格;需要复杂数据透视表或图表;处理旧版 .xls 格式;需要实时协作编辑。

主要能力

本技能提供两种操作模式:

  • 模板模式:修改现有品牌模板。先分析模板以找出占位符和结构,再用实际值替换 {{PLACEHOLDERS}}。
  • 从零生成模式:使用 JSON 规格文件从无到有创建电子表格。

脚本参考:

脚本 用途 权限
analyze-template.ts 从 XLSX 提取单元格、公式、占位符 --allow-read
generate-from-template.ts 替换模板中的占位符 --allow-read --allow-write
generate-scratch.ts 根据 JSON 规格创建 XLSX --allow-read --allow-write

使用方式

前置条件:安装 Deno(https://deno.land/);模板操作需要输入 XLSX 文件;从零生成需要 JSON 规格。

模式一:基于模板生成

第一步,分析模板,提取单元格清单以了解可替换内容:

deno run --allow-read scripts/analyze-template.ts financial-template.xlsx > inventory.json

输出 inventory.json 包含文件名、工作表数量、各工作表的行数、列数、已用范围、单元格列表(地址、行、列、值、类型、公式)、占位符列表以及是否含公式等信息。

第二步,创建替换规格 replacements.json,包含 textReplacements(tag、value、可选 sheets)和 cellUpdates(sheet、address、value)。

第三步,生成输出:

deno run --allow-read --allow-write scripts/generate-from-template.ts
financial-template.xlsx replacements.json output.xlsx

模式二:从零生成

第一步,创建规格 spec.json,可包含 title、author、sheets 等。

第二步,生成电子表格:

deno run --allow-read --allow-write scripts/generate-scratch.ts spec.json output.xlsx

规格参考

工作表选项:name(工作表名)、data(从 A1 开始的二维单元格值数组)、cells(单个单元格规格)、rows(基于行的数据规格)、columns(列宽和可见性设置)、merges(合并单元格范围)、freezePane(冻结窗格,如 "A2")、autoFilter(自动筛选范围,如 "A1:F10")。

单元格选项:address(单元格地址,如 "A1")、value(值,字符串/数字/布尔/null)、formula(不带 = 号的公式)、format(数字格式,如 "#,##0.00")、type(强制类型:string、number、boolean、date)。

列选项:col(列字母,如 "A"、"AA")、width(列宽,按字符数)、hidden(隐藏列)。

模板替换选项:tag(要查找的占位符,如 "{{TITLE}}")、value(替换值)、sheets(限定特定工作表)、range(限定单元格范围,如 "A1:D10")。

适用场景

  • 月度销售报表:分析模板、创建替换数据、生成报表。
  • 带公式的数据导出:创建含计算合计的电子表格。
  • 多工作表工作簿:创建含摘要和明细工作表的文件。

常见问题与限制

常见问题:占位符未被替换时,可运行 analyze-template.ts 核实标签文本和位置,检查占位符是否在字符串单元格而非公式中,并验证替换规格中的工作表筛选。公式显示为文本时,确保规格中公式不以 "=" 开头(会自动添加),且单元格类型未被强制为 "string"。数字被格式化为文本时,使用数值而非带引号的字符串。列宽未应用时,确保列字母大写且列规格为数组格式。

限制:仅支持 XLSX,不支持旧版 .xls 或 .xlsb;无法创建或保留 VBA 宏;不支持原生图表创建;无法以编程方式创建数据透视表;单元格格式选项有限;无法设置条件格式规则;公式会被存储但不会重新计算(Excel 打开时重新计算)。

相关技能:pptx-generator(创建 PowerPoint 演示文稿)、docx-generator(创建 Word 文档)、csv-processor(更简单的 CSV 数据处理)。