kimi-xlsx by thvroyal/kimi-skills
npx skills add https://github.com/thvroyal/kimi-skills --skill kimi-xlsx✅ Excel 创建所需技术栈:
ipython 工具运行 Python 代码✅ 验证与数据透视表工具:
shell 工具执行 CLI 命令🔧 执行环境:
ipython 工具配合 openpyxl/pandas 创建 Excel广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
shell 工具执行验证命令Python Excel 创建模式:
from openpyxl import Workbook
from openpyxl.styles import PatternFill, Font, Border, Side, Alignment
import pandas as pd
# 创建工作簿
wb = Workbook()
ws = wb.active
ws.title = "Data"
# 添加数据
ws['A1'] = "Header1"
ws['B1'] = "Header2"
# 应用样式
ws['A1'].font = Font(bold=True, color="FFFFFF")
ws['A1'].fill = PatternFill(start_color="333333", end_color="333333", fill_type="solid")
# 保存
wb.save('output.xlsx')
</Technology Stack>
使用外部获取的数据创建 Excel 文件时:
来源引用(强制要求):
datasource、web_search、API 调用或任何获取的数据Source Name | Source URL| 数据内容 | 来源名称 | 来源 URL |
|---|---|---|
| 苹果公司营收 | Yahoo Finance | https://finance.yahoo.com/... |
| 中国 GDP | World Bank API | world_bank_open_data |
</External Data in Excel>
1. Python (openpyxl/pandas) - 用于 Excel 文件创建、样式设置、公式、图表 2. KimiXlsx CLI 工具 - 用于验证、错误检查和数据透视表创建
KimiXlsx 工具有 6 个命令,可以使用 shell 工具调用:
可执行路径:/app/.kimi/skills/kimi-xlsx/scripts/KimiXlsx
基础命令:/app/.kimi/skills/kimi-xlsx/scripts/KimiXlsx <command> [arguments]
描述:此工具检测:
MATCH(TRUE(), range>0, 0))隐式数组公式检测:
MATCH(TRUE(), range>0, 0) 这样的模式在 MS Excel 中需要 CSE(Ctrl+Shift+Enter)=MATCH(TRUE(), A1:A10>0, 0) → 在 Excel 中显示 #N/A=SUMPRODUCT((A1:A10>0)*ROW(A1:A10))-ROW(A1)+1 → 在所有 Excel 版本中都有效使用方法:
/app/.kimi/skills/kimi-xlsx/scripts/KimiXlsx recheck output.xlsx
超出范围的引用 - 公式引用的范围远超实际数据行数。 标题行引用 - 错误地将第一行(通常是标题)包含在计算中。 聚合函数范围不足 - SUM/AVERAGE 等函数仅覆盖 ≤2 个单元格。 不一致的公式模式 - 同一列中的某些公式偏离了主要模式("孤立"公式)。
使用方法:
/app/.kimi/skills/kimi-xlsx/scripts/KimiXlsx reference-check output.xlsx
描述:此命令分析 Excel 文件结构并输出描述所有工作表、表格、标题和数据范围的 JSON。在处理 Excel 文件之前使用此命令来了解其结构。
使用方法:
/app/.kimi/skills/kimi-xlsx/scripts/KimiXlsx inspect input.xlsx --pretty
描述:使用纯 OpenXML SDK 创建数据透视表并可选图表。这是创建数据透视表的唯一受支持方法。会自动在数据透视表旁边创建一个图表(条形图/折线图/饼图)。
⚠️ 关键:在使用此命令之前,必须阅读 /app/.kimi/skills/kimi-xlsx/pivot-table.md 以获取完整文档。
必需参数:
input.xlsx - 输入 Excel 文件(位置参数)output.xlsx - 输出 Excel 文件(位置参数)--source "Sheet!A1:Z100" - 源数据范围--location "Sheet!A3" - 放置数据透视表的位置--values "Field:sum" - 带有聚合(sum/count/avg/max/min)的值字段可选参数:
--rows "Field1,Field2" - 行字段--cols "Field1" - 列字段--filters "Field1" - 筛选器/页面字段--name "PivotName" - 数据透视表名称(默认:PivotTable1)--style "monochrome" - 样式主题:monochrome(默认)或 finance--chart "bar" - 图表类型:bar(默认)、line 或 pie使用方法:
/app/.kimi/skills/kimi-xlsx/scripts/KimiXlsx inspect data.xlsx --pretty
/app/.kimi/skills/kimi-xlsx/scripts/KimiXlsx pivot
data.xlsx output.xlsx
--source "Sales!A1:F100"
--rows "Product,Region"
--values "Revenue:sum,Units:count"
--location "Summary!A3"
--chart "bar"
描述:验证所有图表是否包含实际数据内容。在创建图表后使用此命令以确保它们不为空。
使用方法:
/app/.kimi/skills/kimi-xlsx/scripts/KimiXlsx chart-verify output.xlsx
退出代码:
0 = 所有图表都有数据,可以安全交付1 = 图表为空或损坏 - 必须修复描述:OpenXML 结构验证。未能通过此验证的文件无法被 Microsoft Excel 打开。在交付任何 Excel 文件之前,必须运行此命令。
检查内容:
退出代码:
0 = 验证通过,可以安全交付使用方法:
/app/.kimi/skills/kimi-xlsx/scripts/KimiXlsx validate output.xlsx
如果验证失败:不要尝试"修复"文件。使用修正后的代码从头开始重新生成。
</Tool script list>
<Excel Creation Workflow - MUST FOLLOW>
🚨 关键:在创建后立即验证每个工作表,而不是在所有工作表都完成后!
For each sheet in workbook:
1. 规划 → 设计此工作表的结构、公式、引用
2. 创建 → 为此工作表写入数据、公式、样式
3. 保存 → 保存工作簿 (wb.save())
4. 检查 → 运行 recheck + reference-check → 修复直到 0 错误
5. 下一步 → 只有在当前工作表 0 错误后才继续下一个工作表
After ALL sheets pass:
6. 验证 → 运行 `validate` 命令 → 修复直到退出代码为 0
7. 交付 → 只交付通过了所有验证的文件
# 在创建/修改每个工作表后,保存并运行:
/app/.kimi/skills/kimi-xlsx/scripts/KimiXlsx recheck output.xlsx
/app/.kimi/skills/kimi-xlsx/scripts/KimiXlsx reference-check output.xlsx
# 在创建下一个工作表之前修复所有错误!
/app/.kimi/skills/kimi-xlsx/scripts/KimiXlsx validate output.xlsx
为什么需要按工作表验证?
</Excel Creation Workflow - MUST FOLLOW>
⚠️ 关键:Excel 公式永远是首选
对于任何分析任务,使用 Excel 公式是默认且首选的方法。只要可以使用公式,就必须使用。
✅ 正确 - 使用 Excel 公式:
ws['C2'] = '=A2+B2' # 求和
ws['D2'] = '=C2/B2*100' # 百分比
ws['E2'] = '=SUM(A2:A100)' # 聚合
❌ 禁止 - 在 Python 中预先计算并粘贴静态值:
result = value_a + value_b
ws['C2'] = result # 错误:静态值,不是公式
仅在以下情况下使用静态值:
遵循此工作流程:
工作表 1:规划(编写详细设计) → 创建 → 保存 → 运行 Recheck → 运行 ReferenceCheck → 修复错误 → 零错误 ✓
工作表 2:规划(编写详细设计) → 创建 → 保存 → 运行 Recheck → 运行 ReferenceCheck → 修复错误 → 零错误 ✓
工作表 3:规划(编写详细设计) → 创建 → 保存 → 运行 Recheck → 运行 ReferenceCheck → 修复错误 → 零错误 ✓
...
🚨 关键:Recheck 结果是最终结果 - 没有例外
recheck 命令检测公式错误(#VALUE!、#DIV/0!、#REF!、#NAME?、#N/A 等)和零值单元格。你必须严格遵守以下规则:
对错误零容忍:如果 recheck 报告任何错误,在交付之前必须修复它们。没有例外。
不要假设错误会"自动解决":
recheck 报告的所有错误,直到 error_count = 0检测到的错误 = 需要修复的错误:
recheck 显示 error_count: 5,你就有 5 个错误需要修复recheck 显示 zero_value_count: 3,你就有 3 个可疑单元格需要验证error_count: 0 时,你才能进行下一步需要避免的常见错误:
交付门槛:带有任何 recheck 错误的文件不能交付给用户。
禁止的模式 ❌:
1. 创建工作表 1 → 创建工作表 2 → 创建工作表 3 → 最后运行一次 Recheck
❌ 错误:错误累积,调试变得指数级困难
✅ 正确:在每个工作表之后检查,修复后再进行下一个
2. 跳过任何工作表的规划
❌ 错误:导致 80%+ 的引用错误
✅ 正确:在创建工作表之前规划其结构
3. Recheck 显示错误 → 忽略并仍然交付
❌ 绝对禁止 - 错误必须修复,不能忽略!
4. Recheck 显示错误 → 仍然继续创建下一个工作表
❌ 错误:工作表 1 中的错误会连锁到工作表 2、3...
✅ 正确:在创建下一个工作表之前修复当前工作表中的所有错误
</Analyze loop>
语法:=VLOOKUP(lookup_value, table_array, col_index_num, FALSE) — 查找列必须在 table_array 的最左侧 最佳实践:使用 FALSE 进行精确匹配;用 $A$2:$D$100 锁定范围;用 IFERROR(...,"N/A") 包装;跨工作表:Sheet2!$A$2:$C$100 错误:#N/A=未找到;#REF!=col_index 超出列数。 替代方案:当查找列不在最左侧时使用 INDEX/MATCH
ws['D2'] = '=IFERROR(VLOOKUP(A2,$G$2:$I$50,3,FALSE),"N/A")'
</VLOOKUP Usage Rules>
何时触发:检测到任何以下用户意图:
⚠️ 强制操作:当检测到需要数据透视表时,必须:
/app/.kimi/skills/kimi-xlsx/pivot-table.mdpivot 命令(不要手动编写代码构建)为什么这是必需的:
pivot 命令提供了稳定、经过测试的实现快速参考(详情见 pivot-table.md):
# 步骤 1:检查数据结构
/app/.kimi/skills/kimi-xlsx/scripts/KimiXlsx inspect data.xlsx --pretty
# 步骤 2:创建带有图表的数据透视表
/app/.kimi/skills/kimi-xlsx/scripts/KimiXlsx pivot \
data.xlsx output.xlsx \
--source "Sheet!A1:F100" \
--rows "Category" \
--values "Revenue:sum" \
--location "Summary!A3" \
--chart "bar"
# 步骤 3:验证
/app/.kimi/skills/kimi-xlsx/scripts/KimiXlsx validate output.xlsx
⛔ 禁止:
inspect 步骤⚠️ 关键:数据透视表的工作流程顺序 如果需要向将包含数据透视表的文件添加额外工作表(封面、摘要等):
pivot 命令作为最后一步✅ 正确顺序:
openpyxl 创建 base.xlsx(包含封面、数据工作表)
→ pivot 命令:base.xlsx → final.xlsx(添加数据透视表)
→ 验证 final.xlsx
→ 交付 final.xlsx(不要再修改)
❌ 错误顺序(会损坏文件):
pivot 命令创建 pivot.xlsx
→ openpyxl 打开 pivot.xlsx 以添加封面工作表 ← 损坏文件!
→ 文件无法在 MS Excel 中打开
</PivotTable Module>
🚨 禁止的函数(与旧版 Excel 不兼容):
以下函数在 Excel 2019 及更早版本中不受支持。使用这些函数的文件在旧版 Excel 中将无法打开。请使用传统的替代方案。
| ❌ 禁止的函数 | ✅ 替代方案 |
|---|---|
FILTER() | 使用自动筛选,或 SUMIF/COUNTIF/INDEX-MATCH |
UNIQUE() | 使用"删除重复项"功能,或使用 COUNTIF 的辅助列 |
SORT()、SORTBY() | 使用 Excel 的排序功能(数据 → 排序) |
XLOOKUP() | 使用 INDEX() + MATCH() 组合 |
XMATCH() | 使用 MATCH() |
SEQUENCE() | 使用 ROW() 或手动填充 |
LET() | 在辅助单元格中定义中间计算 |
LAMBDA() | 使用命名区域或 VBA |
RANDARRAY() | 使用 RAND() 并向下填充 |
ARRAYFORMULA() | 仅限 Google Sheets - 使用 Ctrl+Shift+Enter 数组公式 |
QUERY() | 仅限 Google Sheets - 使用 SUMIF/COUNTIF/数据透视表 |
IMPORTRANGE() | 仅限 Google Sheets - 手动复制数据 |
为什么这些函数被禁止:
validate 命令将检测并拒绝使用这些函数的文件示例 - 将 FILTER 转换为 INDEX-MATCH:
❌ 错误:=FILTER(A2:C100, B2:B100="Active")
✅ 正确:在数据范围上使用自动筛选,或创建数据透视表
⚠️ 防止差一错误:保存前,验证每个公式引用了正确的单元格。运行 reference-check 工具。常见错误:引用标题行、错误的行/列偏移。如果结果为 0 或意外 → 首先检查引用。
💰 财务数值:以最小单位存储(15000000 而不是 1.5M)。使用 Excel 格式进行显示:"¥#,##0"。切勿使用需要在公式中进行换算的缩放单位。
</Baseline error>
</Analyze rule>
每周安装量
97
代码仓库
GitHub 星标数
93
首次出现
2026年2月4日
安全审计
安装于
opencode90
gemini-cli89
codex89
github-copilot87
kimi-cli85
amp85
通过 LiteLLM 代理让 Claude Code 对接 GitHub Copilot 运行 | 高级变通方案指南
40,000 周安装