用途:处理电子表格文件为主要输入或输出的任务,如打开、读取、编辑或修复现有表格,创建带公式和格式的工作簿。
主要能力:创建和编辑公式与格式用 openpyxl;批量数据进出用 pandas(read_excel、to_excel);快速查看工作表用 markitdown file.xlsx(每个工作表以 ## SheetName 标记,不提供单元格坐标);读取模型需两次 load_workbook,分别取公式和缓存值。
使用方式:openpyxl、pandas、markitdown 已预装,直接写脚本导入,不要先运行 pip install;仅当导入失败或命令缺失时才安装缺失包。含公式的文件必须重新计算,运行 python scripts/recalc.py output.xlsx [timeout_seconds](默认 30),返回 JSON 含 status、total_formulas、total_errors 和 error_summary;errors_found 仍以退出码 0 结束,不能只看退出码。
输出要求:全程使用专业字体(如 Arial、Times New Roman);使用公式而非硬编码结果;零公式错误;按用户规格的字面要求执行;记录假设和硬编码数字的来源;为需填写的表格提供图例和一行示例值,但编辑现有文件时不加。编辑现有文件须匹配其约定,只写标记的输入单元格,不动已有公式。
公式与限制:LibreOffice 支持函数少于 Excel。优先用 SUMIFS、INDEX、MATCH、IFERROR、SUMPRODUCT 等 2007 版函数;六个后 2007 函数需加 _xlfn. 前缀:_xlfn.TEXTJOIN、_xlfn.CONCAT、_xlfn.IFS、_xlfn.SWITCH、_xlfn.MAXIFS、_xlfn.MINIFS,否则报 #NAME?。不要使用 XLOOKUP、XMATCH、SORT、FILTER、UNIQUE、SEQUENCE。
注意事项:data_only=True 若保存会永久丢失公式;刚写入的文件读缓存值为 None,需先重算;合并单元格只写左上角;.xlsm 需 keep_vba=True 保留宏;带空格的工作表名跨表引用要加引号;含外部链接的工作簿重存后会丢失链接,recalc.py 会拒绝运行,需先取值(--force 可覆盖但接受丢失)。财务模型有颜色、数字格式和结构约定,除非用户另有要求或现有文件已采用其他方式。依赖 LibreOffice(soffice,沙箱环境通过 scripts/office/soffice.py 自动配置)。