用途:通过随附的 calc 模块,以 UNO 方式操作 LibreOffice Calc(.ods)电子表格,覆盖创建、编辑、格式化、导出与快照等任务。所有路径必须使用绝对路径,并需设置 PYTHONPATH=<skill_base_dir>/scripts。
主要能力:非会话工具提供 create_spreadsheet、export_spreadsheet(支持 pdf、xlsx、csv)、snapshot_area(导出区域 PNG)。会话 API open_calc_session 返回 CalcSession,可用于单元格/区域读写、格式化、工作表增删改名、命名区域、数据验证、图表创建更新删除、重算、补丁应用与导出。
目标对象 CalcTarget 支持 cell、range、sheet、named_range、chart,行列坐标从 0 开始,sheet 与 sheet_index、name 与 index 互斥。格式化用 CellFormatting,验证用 ValidationRule,图表用 ChartSpec(类型限 bar、line、pie、scatter)。
使用方式:先设置 PYTHONPATH,再用绝对路径建立或打开文档;通过会话方法或 patch DSL 执行有序操作。补丁支持 atomic(遇错回滚)与 best_effort(保留已成功部分)两种模式。示例见简介代码片段。
适用场景:批量生成报表、区域数据读写与格式化、插入图表与数据验证、导出多格式文件、给现有表格打补丁。
限制:路径必须绝对;坐标 0 起;单元格与区域目标不可混用;图表更新或删除需按标题等选择器定位;snapshot 尺寸可能略有偏差;会话关闭后不可再调用方法。若遇到安装或运行问题,资料建议查看 references/troubleshooting.md。