SuperAPI AI 工具集

xlsx

办公与效率

查看项目

更新于 10-15 08:33

技能介绍

用途

xlsx 技能用于创建、编辑和分析 .xlsx 电子表格文件。当用户需要处理 Excel 文件时,该技能提供相应工具与工作流,覆盖数据读取、公式编写、格式化、数据分析与可视化等任务。

主要能力

  • 使用 pandas 进行数据分析、可视化与基础操作,例如读取单个或多个工作表、预览数据、查看列信息与统计信息、导出 Excel。
  • 使用 openpyxl 创建新工作簿或加载已有文件,添加或修改数据、公式与格式,支持字体、填充、对齐、列宽等设置,以及插入行、删除列、新建工作表。
  • 通过 recalc.py 脚本重新计算公式:该脚本在首次运行时自动配置 LibreOffice 宏,重新计算所有工作表中的公式,扫描所有单元格中的 Excel 错误,并返回包含错误位置与数量的 JSON。
  • 支持公式验证清单,包括抽样引用检查、列映射确认、行偏移注意、NaN 处理、除零检查、跨表引用格式等。

使用方式

  1. 选择工具:数据分析用 pandas,公式与格式化用 openpyxl。
  2. 创建或加载:新建工作簿或加载已有文件。
  3. 修改:添加或编辑数据、公式与格式。
  4. 保存:写入文件。
  5. 重新计算公式(使用公式时必做):运行 python recalc.py output.xlsx。
  6. 验证并修复错误:脚本返回 JSON,若状态为 errors_found,查看 error_summary 中的错误类型与位置,修复后再次计算。

创建文件示例:

from openpyxl import Workbook
from openpyxl.styles import Font, PatternFill, Alignment

wb = Workbook()
sheet = wb.active
sheet['A1'] = 'Hello'
sheet['B1'] = 'World'
sheet.append(['Row', 'of', 'data'])
sheet['B2'] = '=SUM(A1:A10)'
sheet['A1'].font = Font(bold=True, color='FF0000')
sheet['A1'].fill = PatternFill('solid', start_color='FFFF00')
sheet['A1'].alignment = Alignment(horizontal='center')
sheet.column_dimensions['A'].width = 20
wb.save('output.xlsx')

编辑已有文件示例:

from openpyxl import load_workbook

wb = load_workbook('existing.xlsx')
sheet = wb.active
for sheet_name in wb.sheetnames:
    sheet = wb[sheet_name]
    print(f"Sheet: {sheet_name}")
sheet['A1'] = 'New Value'
sheet.insert_rows(2)
sheet.delete_cols(3)
new_sheet = wb.create_sheet('NewSheet')
new_sheet['A1'] = 'Data'
wb.save('modified.xlsx')

重新计算命令:

python recalc.py <excel_file> [timeout_seconds]

例如:python recalc.py output.xlsx 30

适用场景

  • 创建或编辑包含公式、格式化的 Excel 模型。
  • 对 Excel 数据进行探索性分析与可视化。
  • 更新已有模板,同时保持其原有格式、样式与约定。
  • 财务模型构建,需遵循配色与数字格式规范。

限制与要求

  • 公式重新计算需要 LibreOffice;脚本在首次运行时自动配置。
  • openpyxl 创建或修改的文件中,公式以字符串形式存在,不含计算值,必须使用 recalc.py 更新。
  • 使用 data_only=True 打开并保存后,公式会被值替换并永久丢失。
  • 所有 Excel 文件必须零公式错误,包括 #REF!、#DIV/0!、#VALUE!、#N/A、#NAME?。
  • 更新模板时,必须研究并精确匹配现有格式、样式与约定,不得强加标准化格式。
  • 财务模型需遵循行业标准配色:蓝色文本(RGB: 0,0,255)为硬编码输入与情景变更数字;黑色文本(RGB: 0,0,0)为所有公式与计算;绿色文本(RGB: 0,128,0)为同一工作簿内其他工作表的链接;红色文本(RGB: 255,0,0)为外部文件链接;黄色背景(RGB: 255,255,0)为需注意的关键假设或需更新的单元格。
  • 数字格式规则:年份格式化为文本字符串(如 "2024" 而非 "2,024");货币使用 $#,##0 格式并在表头注明单位(如 "Revenue ($mm)");零值通过数字格式显示为 "-",包括百分比(如 "$#,##0;($#,##0);-");百分比默认 0.0% 格式(一位小数);倍数格式化为 0.0x(如 EV/EBITDA、P/E);负数使用括号 (123) 而非负号 -123。
  • 公式构建规则:所有假设(增长率、利润率、倍数等)放在单独的假设单元格中;公式中使用单元格引用而非硬编码值,例如用 =B5*(1+$B$6) 而非 =B5*1.05;验证所有单元格引用正确;检查范围是否存在差一错误;确保所有预测期公式一致;用边界情况(零值、负数)测试;验证无意外循环引用。
  • 硬编码值需注释或写在表格旁,格式为 "Source: [System/Document], [Date], [Specific Reference], [URL if applicable]"。
  • 代码风格:生成 Python 代码时保持简洁,避免不必要注释、冗长变量名与冗余操作,避免不必要的 print 语句;Excel 文件中为复杂公式或重要假设添加单元格注释,记录硬编码值的数据来源,为关键计算与模型部分添加说明。