원클릭으로
Excel 文件处理。用于读取、写入、编辑 .xlsx/.xls/.csv 文件,支持工作表管理、格式化、公式计算、数据查询和格式转换。当用户需要操作电子表格文件时触发。
npx skills add https://github.com/ErixWong/touwaka-ai-mate --skill xlsx이 명령을 Claude Code에 복사하여 붙여넣어 스킬을 설치하세요
Excel 文件处理。用于读取、写入、编辑 .xlsx/.xls/.csv 文件,支持工作表管理、格式化、公式计算、数据查询和格式转换。当用户需要操作电子表格文件时触发。
npx skills add https://github.com/ErixWong/touwaka-ai-mate --skill xlsx이 명령을 Claude Code에 복사하여 붙여넣어 스킬을 설치하세요
发票专用解析技能。支持中国增值税发票、普通发票、电子发票的结构化提取。基于 pdfjs-dist 实现坐标提取,可提取发票号码、日期、买卖双方信息、商品明细、金额等字段。
PDF 文件处理(Python 版)。使用 PyMuPDF 实现,内存效率高,适合处理大文件。用于读取、提取文本/表格/图片、合并、拆分、旋转、水印、加密/解密、页面渲染。当用户提到 .pdf 文件或需要操作 PDF 时触发。
PDF 文件处理。用于读取、提取文本/表格/图片、合并、拆分、旋转、水印、加密/解密、表单填写、页面渲染。当用户提到 .pdf 文件或需要操作 PDF 时触发。
Word 文档处理。用于读取、写入、编辑、模板填充 .docx 文件。支持页眉页脚、超链接、目录、图片操作。使用 Patcher API 保留原文档样式。当用户需要操作 Word 文档时触发。
ZIP file operations for creating and extracting archives.
ECharts 图表生成。用于需要可视化数据展示的场景,支持 20+ 图表类型(柱状图、折线图、饼图、雷达图等),输出 SVG/PNG/Base64/文件格式。当用户需要生成图表、数据可视化、统计图形时触发。
| name | xlsx |
| description | Excel 文件处理。用于读取、写入、编辑 .xlsx/.xls/.csv 文件,支持工作表管理、格式化、公式计算、数据查询和格式转换。当用户需要操作电子表格文件时触发。 |
重要:所有工具的
path参数遵循以下规则(与 FS 技能一致):
- 相对路径直接使用,依赖 VM 设置的工作目录
- 绝对路径不被允许
示例:
// 相对路径(推荐)
read({ path: 'input/data.xlsx', scope: 'workbook' })
read({ path: 'data/output.xlsx', scope: 'workbook' })
| 工具 | 说明 | 关键参数 |
|---|---|---|
read | 读取 Excel | scope: workbook/sheet/cell |
write | 写入 Excel | scope: workbook/sheet/cell |
sheet | 工作表管理 | action: add/delete/rename/copy |
format | 格式化 | type: column/cell |
query | 数据查询 | action: filter/sort/find |
convert | 格式转换 | format: json/csv, direction: to/from |
calc | 公式计算 | - |
// 读取工作簿
read({ path: 'data.xlsx', scope: 'workbook' })
read({ path: 'data.xlsx', scope: 'workbook', includeData: true })
// 读取工作表
read({ path: 'data.xlsx', scope: 'sheet', sheet: 'Sheet1' })
read({ path: 'data.xlsx', scope: 'sheet', sheet: 'Sheet1', header: 'json', range: 'A1:C10' })
// 读取单元格
read({ path: 'data.xlsx', scope: 'cell', sheet: 'Sheet1', cell: 'A1' })
// 创建工作簿
write({
path: 'new.xlsx',
scope: 'workbook',
sheets: [{ name: 'Sheet1', data: [['A', 'B'], [1, 2]] }]
})
// 写入工作表
write({ path: 'data.xlsx', scope: 'sheet', sheet: 'Sheet1', data: [[...]], mode: 'overwrite' })
write({ path: 'data.xlsx', scope: 'sheet', sheet: 'Sheet1', data: [[...]], mode: 'append' })
// 写入单元格
write({ path: 'data.xlsx', scope: 'cell', sheet: 'Sheet1', cell: 'A1', value: 'Hello' })
write({ path: 'data.xlsx', scope: 'cell', sheet: 'Sheet1', cell: 'C1', formula: '=SUM(A1:B1)' })
sheet({ path: 'data.xlsx', action: 'add', name: 'NewSheet' })
sheet({ path: 'data.xlsx', action: 'delete', sheet: 'Sheet2' })
sheet({ path: 'data.xlsx', action: 'rename', sheet: 'Sheet1', newName: 'Summary' })
sheet({ path: 'data.xlsx', action: 'copy', sourceSheet: 'Template', targetSheet: 'Copy1' })
// 列宽
format({
path: 'data.xlsx', type: 'column', sheet: 'Sheet1',
columns: [{ column: 'A', width: 20 }, { column: 'B', width: 15 }]
})
// 单元格样式
format({
path: 'data.xlsx', type: 'cell', sheet: 'Sheet1',
cells: ['A1', 'B1'],
style: { font: { bold: true }, fill: { type: 'pattern', pattern: 'solid', fgColor: { argb: 'FFFFFF00' } } }
})
// 筛选
query({ path: 'data.xlsx', action: 'filter', column: 'status', condition: 'equals', value: 'active' })
// 排序
query({ path: 'data.xlsx', action: 'sort', column: 'amount', order: 'desc' })
// 查找
query({ path: 'data.xlsx', action: 'find', query: 'error' })
筛选条件: equals, not_equals, greater, less, contains, starts_with, ends_with, is_empty, is_not_empty
// Excel ↔ JSON
convert({ path: 'data.xlsx', format: 'json', direction: 'to' })
convert({ path: 'output.xlsx', format: 'json', direction: 'from', data: [{ name: 'Alice' }] })
// Excel ↔ CSV
convert({ path: 'data.xlsx', format: 'csv', direction: 'to', output: 'data.csv' })
convert({ path: 'data.csv', format: 'csv', direction: 'from', output: 'data.xlsx' })
calc({ path: 'data.xlsx', sheet: 'Sheet1' })
// 返回: { formulas: [{ cell: 'C1', formula: 'SUM(A1:B1)', value: 15 }] }