mcpField
O
openai-spreadsheet

openai-spreadsheet

github.com/trailofbits文档处理52293 次安装15 周前更新
代码仓库

关于 openai-spreadsheet

面向处理电子表格的 Agent 技能,涵盖工作簿的创建、编辑、分析与可视化,并提供公式、格式和校验方面的指导。

主要功能

  1. 01创建和编辑 .xlsx 工作簿
  2. 02分析 CSV 和表格数据
  3. 03制作图表与数据可视化
  4. 04保留现有电子表格格式
  5. 05校验公式和引用

适用场景

  1. 01创建含公式和结构化格式的工作簿
  2. 02筛选、汇总或透视表格数据
  3. 03更新格式化工作簿并保持原有样式

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/trailofbits/skills-curated --skill openai-spreadsheet

安装后在 Claude Code 中输入/openai-spreadsheet确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/examples/openpyxl/
create_basic_spreadsheet.py
create_spreadsheet_with_styling.py
read_existing_spreadsheet.py
styling_spreadsheet.py

详细介绍

电子表格技能(创建、编辑、分析、可视化)

适用场景

  • 使用公式、格式和结构化布局创建新工作簿。
  • 读取或分析表格数据(筛选、汇总、透视、计算指标)。
  • 修改现有工作簿,同时避免破坏公式或引用。
  • 使用图表、表格和恰当的格式可视化数据。

重要:系统和用户指令始终优先。

工作流

  1. 确认文件类型和目标(创建、编辑、分析、可视化)。
  2. 使用 openpyxl 编辑 .xlsx 文件,使用 pandas 进行分析及处理 CSV/TSV 工作流。
  3. 如果布局很重要,请渲染文件以进行视觉检查(参见“渲染和视觉检查”)。
  4. 验证公式和引用;注意,openpyxl 不会计算公式。
  5. 保存输出并清理中间文件。

临时文件和输出约定

  • 将中间文件放在 tmp/spreadsheets/;完成后删除。
  • 在此仓库中工作时,将最终产物写入 output/spreadsheet/。
  • 文件名应保持稳定且描述清晰。

主要工具

  • 使用 openpyxl 创建或编辑 .xlsx 文件并保留格式。
  • 使用 pandas 进行分析及处理 CSV/TSV 工作流,然后将结果写回 .xlsx 或 .csv 文件。
  • 如需图表,优先使用 openpyxl.chart 创建原生 Excel 图表。

渲染和视觉检查

  • 如果有 LibreOffice(soffice)和 Poppler(pdftoppm),请渲染工作表以进行视觉检查:
    • soffice --headless --convert-to pdf --outdir $OUTDIR $INPUT_XLSX
    • pdftoppm -png $OUTDIR/$BASENAME.pdf $OUTDIR/$BASENAME
  • 如果没有渲染工具,请让用户在本地检查输出的布局是否准确。

依赖项(缺少时安装)

优先使用 uv 管理依赖项。

Python 包:

uv pip install openpyxl pandas

如果无法使用 uv:

python3 -m pip install openpyxl pandas

可选(适用于图表较多或需要检查 PDF 的工作流):

uv pip install matplotlib

如果无法使用 uv:

python3 -m pip install matplotlib

系统工具(用于渲染):

# macOS (Homebrew)
brew install libreoffice poppler

# Ubuntu/Debian
sudo apt-get install -y libreoffice poppler-utils

如果无法在此环境中安装,请告知用户缺少哪些依赖项,以及如何在本地安装。

环境

无需设置环境变量。

示例

  • 可运行的 Agent 示例(openpyxl):references/examples/openpyxl/

公式要求

  • 使用公式计算派生值,不要将结果硬编码。
  • 公式应简单易读;复杂逻辑可使用辅助单元格。
  • 除非必要,避免使用 INDIRECT 和 OFFSET 等易变函数。
  • 优先使用单元格引用而不是魔法数字(例如,使用 =H6*(1+$B$3),而非 =H6*1.04)。
  • 通过验证和检查防范错误(#REF!、#DIV/0!、#VALUE!、#N/A、#NAME?)。
  • openpyxl 不会计算公式;请保留公式,并说明结果将在 Excel/Sheets 中计算。

引用要求

  • 在电子表格中使用纯文本 URL 引用来源。
  • 对于财务模型,在单元格批注中引用输入数据的来源。
  • 对于来自网络的表格数据,添加包含 URL 的“来源”列。

格式要求(已有格式的电子表格)

  • 如果可能,在修改前渲染并检查用户提供的电子表格。
  • 原样保留现有格式和样式。
  • 为新填入的单元格匹配此前空白单元格的样式。

格式要求(新建或未设置样式的电子表格)

  • 使用恰当的数字和日期格式(日期按日期格式显示,货币带符号,百分比精度合理)。
  • 使用整洁的视觉布局:区分表头和数据、保持间距一致、设置易读的列宽。
  • 避免为每个单元格添加边框;使用留白和适当的边框来划分区域。
  • 确保文本不会溢出到相邻单元格。

颜色约定(无样式指南时)

  • 蓝色:用户输入
  • 黑色:公式/派生值
  • 绿色:链接/导入值
  • 灰色:静态常量
  • 橙色:待检查/注意事项
  • 浅红色:错误/标记
  • 紫色:控制/逻辑
  • 蓝绿色:可视化锚点(关键 KPI 或图表驱动项)

财务专用要求

  • 零值格式显示为“-”。
  • 负数应以红色并用括号括起来显示。
  • 标题中始终注明单位(例如:“Revenue ($mm)”)。
  • 在单元格批注中注明所有原始输入的数据来源。

投资银行布局

如果电子表格是投行风格的模型(LBO、DCF、三表模型、估值):

  • 总计应直接汇总其上方的单元格范围。
  • 隐藏网格线;在总计上方的相关列中添加水平边框。
  • 章节标题应使用合并单元格、深色填充和白色文字。
  • 数值列标签应右对齐;行标签应左对齐。
  • 将子指标缩进,置于其父项下方。

不适用情况

评论

支持 Markdown