SuperAPI AI 工具集

xlsx

办公与效率

查看项目

更新于 10-16 08:31

技能介绍

用途

xlsx 技能用于在电子表格文件作为主要输入或输出时执行任务。典型场景包括:打开、读取、编辑或修复已有的 .xlsx 文件,创建新的 Excel 文件,以及对表格数据进行分析、可视化和基础操作。

主要能力

  • 使用 pandas 读取、分析和写入 Excel 数据,支持读取单个工作表或全部工作表、预览数据、查看列信息和统计描述。
  • 使用 openpyxl 创建和编辑 Excel 文件,支持公式、格式、字体、填充、对齐、列宽、插入行、删除列、新建工作表等操作。
  • 通过 scripts/recalc.py 脚本调用 LibreOffice 重新计算公式,并扫描所有单元格中的 Excel 错误(如 #REF!、#DIV/0!、#VALUE!、#N/A、#NAME?),返回包含错误位置和数量的 JSON。
  • 提供财务模型的颜色编码、数字格式和公式构建规范。

使用方式

读取与分析数据可使用 pandas:

import pandas as pd
df = pd.read_excel('file.xlsx')
all_sheets = pd.read_excel('file.xlsx', sheet_name=None)
df.head()
df.info()
df.describe()
df.to_excel('output.xlsx', index=False)

创建新文件可使用 openpyxl:

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')

编辑已有文件可使用 openpyxl:

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 scripts/recalc.py output.xlsx
python scripts/recalc.py output.xlsx 30

脚本首次运行会自动配置 LibreOffice 宏,重新计算所有工作表中的公式,扫描所有单元格中的 Excel 错误,并返回 JSON 结果。若状态为 errors_found,需检查 error_summary 中的错误类型和位置,修复后再次计算。

输出要求

所有 Excel 文件应使用一致的专业字体(如 Arial、Times New Roman),除非用户另有指示。每个 Excel 模型必须零公式错误。更新模板时,必须研究并精确匹配现有格式、样式和约定,不得将标准化格式强加于已有既定模式的模板,模板约定始终优先于本指南。

财务模型的颜色编码标准(除非用户或现有模板另有说明):蓝色文字(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% 格式(一位小数);估值倍数(EV/EBITDA、P/E)格式化为 0.0x;负数使用括号 (123) 而非负号 -123。

公式构建规则:将所有假设(增长率、利润率、倍数等)放在单独的假设单元格中,公式中使用单元格引用而非硬编码值,例如使用 =B5*(1+$B$6) 而非 =B5*1.05。需验证所有单元格引用正确、检查范围中的差一错误、确保所有预测期间公式一致、用边界情况(零值、负数)测试、验证无意外循环引用。硬编码值需注释或写在旁边单元格,格式为 "Source: [System/Document], [Date], [Specific Reference], [URL if applicable]"。

适用场景

适用于数据分析、可视化、基础表格操作、创建和编辑 Excel 文件、财务模型构建、公式验证与错误修复等任务。

限制

公式重新计算需要 LibreOffice。使用 openpyxl 以 data_only=True 打开并保存文件时,公式会被值替换并永久丢失。openpyxl 创建的公式以字符串形式存在,不包含计算值,必须使用 scripts/recalc.py 重新计算。