
关于
XLSX 官方技能,用于生成和处理 Excel 电子表格文件,支持模板和自定义格式。
name: xlsx-official description: "除非用户或现有模板另有说明" risk: unknown source: community date_added: "2026-02-27"
输出要求
所有 Excel 文件
零公式错误
- 每个 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: [系统/文档], [日期], [具体引用], [URL(如适用)]"
- 示例:
- "Source: Company 10-K, FY2024, Page 45, Revenue Note, [SEC EDGAR URL]"
- "Source: Company 10-Q, Q2 2025, Exhibit 99.1, [SEC EDGAR URL]"
- "Source: Bloomberg Terminal, 8/15/2025, AAPL US Equity"
- "Source: FactSet, 8/20/2025, Consensus Estimates Screen"
XLSX 创建、编辑和分析
概述
用户可能要求你创建、编辑或分析 .xlsx 文件的内容。你有不同的工具和工作流可用于不同的任务。
重要要求
公式重新计算需要 LibreOffice:可以假设已安装 LibreOffice
读取和分析数据
使用 pandas 进行数据分析
对于数据分析、可视化和基本操作,使用 pandas 提供强大的数据操作能力:
import pandas as pd
# Read Excel
df = pd.read_excel('file.xlsx') # Default: first sheet
all_sheets = pd.read_excel('file.xlsx', sheet_name=None) # All sheets as dict
# Analyze
df.head() # Preview data
df.info() # Column info
df.describe() # Statistics
# Write Excel
df.to_excel('output.xlsx', index=False)
Excel 文件工作流
关键:使用公式,而非硬编码值
始终使用 Excel 公式而非在 Python 中计算值后硬编码。 这确保电子表格保持动态和可更新。
错误做法 - 硬编码计算值
# Bad: Calculating in Python and hardcoding result
total = df['Sales'].sum()
sheet['B10'] = total # Hardcodes 5000
# Bad: Computing growth rate in Python
growth = (df.iloc[-1]['Revenue'] - df.iloc[0]['Revenue']) / df.iloc[0]['Revenue']
sheet['C5'] = growth # Hardcodes 0.15
# Bad: Python calculation for average
avg = sum(values) / len(values)
sheet['D20'] = avg # Hardcodes 42.5
正确做法 - 使用 Excel 公式
# Good: Let Excel calculate the sum
sheet['B10'] = '=SUM(B2:B9)'
# Good: Growth rate as Excel formula
sheet['C5'] = '=(C4-C2)/C2'
# Good: Average using Excel function
sheet['D20'] = '=AVERAGE(D2:D19)'
这适用于所有计算——总计、百分比、比率、差值等。电子表格应该能在源数据更改时重新计算。
通用工作流
- 选择工具:pandas 用于数据,openpyxl 用于公式/格式
- 创建/加载:创建新工作簿或加载现有文件
- 修改:添加/编辑数据、公式和格式
- 保存:写入文件
- 重新计算公式(必须):使用 LibreOffice 重新计算
兼容工具
Claude CodeCursor
标签
前端开发