名称: xlsx 描述: 使用Node.js(ExcelJS、SheetJS)和Python(pandas、openpyxl)自动化Excel工作流的专家。
XLSX 技能
目的
提供创建、读取、修改和自动化Excel电子表格工作流的专业知识。专门使用ExcelJS、SheetJS、pandas和openpyxl进行编程化电子表格操作,用于数据处理、报告和自动化。
使用时机
- 编程化创建Excel报告
- 读取和解析XLSX文件
- 修改现有电子表格同时保留格式
- 自动化重复性Excel任务
- 在CSV和XLSX格式之间转换
- 构建带公式的Excel模板
- 从复杂电子表格中提取数据
- 生成格式化的财务或数据报告
快速开始
在以下情况下调用此技能:
- 编程化创建Excel报告
- 读取和解析XLSX文件
- 修改现有电子表格同时保留格式
- 自动化重复性Excel任务
- 在CSV和XLSX格式之间转换
不要在以下情况下调用:
- 创建Google Sheets → 不同的API
- 构建Excel插件 → 使用适当的.NET/JS技能
- 没有Excel输出的数据分析 → 使用数据分析师技能
- 仅CSV操作 → 使用CSV数据处理技能
决策框架
Excel任务?
├── Node.js环境 → ExcelJS(功能齐全)或SheetJS(解析)
├── Python环境 → openpyxl(Excel)或pandas(数据+Excel)
├── 大量数据处理 → pandas配合openpyxl引擎
├── 复杂格式 → ExcelJS或openpyxl
├── 基于模板 → 用数据填充现有模板
└── 大文件 → 流式读取器(ExcelJS流式、pandas分块)
核心工作流
1. Excel报告生成(Node.js)
- 初始化ExcelJS工作簿
- 创建具有适当名称的工作表
- 定义带标题和宽度的列
- 从源添加数据行
- 应用样式(字体、边框、填充)
- 添加计算公式
- 设置打印区域和页面设置
- 写入文件缓冲区或流
2. 电子表格数据提取(Python)
- 使用openpyxl或pandas加载工作簿
- 识别数据范围和标题
- 处理合并单元格和格式
- 将数据提取为结构化格式
- 验证和清理提取的数据
- 处理多个工作表(如果需要)
- 转换为所需的输出格式
3. 基于模板的报告
- 创建带格式和公式的主模板
- 加载模板工作簿
- 识别数据插入点
- 插入数据同时保留公式
- 更新任何日期/引用单元格
- 重新计算公式(如果需要)
- 另存为新文件(保留模板)
最佳实践
- 对大文件使用流模式以管理内存
- 修改文件时保留现有样式
- 写入单元格前验证数据类型
- 显式处理合并单元格
- 使用命名范围以提高可维护性
- 使用实际Excel应用程序测试,而不仅仅是库
反模式
- 在内存中加载巨大文件 → 使用流式读取器
- 硬编码单元格引用 → 使用命名范围或动态查找
- 忽略数据类型 → 显式设置数字、日期、文本类型
- 覆盖公式 → 写入前检查单元格类型
- 缺少错误处理 → 处理损坏/受密码保护的文件