xlsx-pro: 专业 Excel 自动化与财务建模 - Openclaw Skills
作者:互联网
2026-04-16
什么是 xlsx-pro?
xlsx-pro 技能是一个强大的工具集,专为以编程方式创建和修改电子表格文件(包括 .xlsx、.xlsm、.csv 和 .tsv 格式)而设计。它经过专门设计,通过优先使用原生 Excel 公式而非硬编码数值,超越了静态数据导出。这确保了最终交付物对最终用户保持动态且功能完整。作为 Openclaw Skills 的关键组成部分,它填补了原始数据处理与专业商业报告之间的空白。
通过结合用于数据分析的 pandas 和用于精确格式化的 openpyxl 的强大功能,xlsx-pro 允许代理构建符合严格质量标准的复杂工作簿。它包含财务建模的具体协议,例如输入值和计算值的标准化颜色编码,确保所有生成的电子表格都符合审计要求且外观专业。
下载入口:https://github.com/openclaw/skills/tree/main/skills/ricobaboule/xlsx-pro
安装与下载
1. ClawHub CLI
从源直接安装技能的最快方式。
npx clawhub@latest install xlsx-pro
2. 手动安装
将技能文件夹复制到以下位置之一
全局模式~/.openclaw/skills/
工作区
/skills/
优先级:工作区 > 本地 > 内置
3. 提示词安装
将此提示词复制到 OpenClaw 即可自动安装。
请帮我使用 Clawhub 安装 xlsx-pro。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。
xlsx-pro 应用场景
- 创建具有动态增长率和总和的自动化财务模型。
- 将混乱的原始数据清洗并格式化为结构化的、客户就绪的 Excel 报告。
- 将旧版 CSV 或 TSV 文件转换为具有多个选项卡的带样式工作簿。
- 对现有电子表格进行大规模更新,同时保留原始模板和样式。
- 审计复杂工作簿以检测并解决公式错误,如 #REF! 或 #DIV/0!。
- 分析请求以确定工作流是否需要 pandas 进行数据处理或 openpyxl 进行结构格式化。
- 初始化新工作簿或加载现有模板,确保保留所有预先存在的样式。
- 将数据插入单元格,同时将 Python 逻辑映射到原生 Excel 公式,以保持工作簿的交互性。
- 应用专业样式,包括特定的字体系列和行业标准颜色编码(例如,硬编码输入为蓝色,公式为黑色)。
- 执行无头 LibreOffice 进程以重新计算所有工作簿公式并验证计算准确性。
- 生成验证报告,在最终交付前识别并纠正任何剩余的表格错误。
xlsx-pro 配置指南
要从 Openclaw Skills 集成此功能,您必须安装所需的 Python 库和用于公式重算的 LibreOffice 无头环境。
pip install openpyxl pandas xlrd xlwt
在基于 Debian 的系统(Ubuntu)上,安装 LibreOffice Calc 以启用重算引擎:
sudo apt-get install libreoffice-calc libreoffice-common
xlsx-pro 数据架构与分类体系
xlsx-pro 技能使用分层电子表格分类法组织数据,确保跨不同表格格式的兼容性:
| 组件 | 描述 |
|---|---|
| 支持的格式 | .xlsx (Excel), .xlsm (启用宏), .csv, .tsv |
| 财务方案 | 输入为蓝色文本,公式为黑色,内部链接为绿色,外部链接为红色 |
| 数据结构 | 将 pandas DataFrame(从 0 开始索引)映射到 Excel 工作表(从 1 开始索引) |
| 错误报告 | 生成详细说明错误类型(#REF!, #NAME?)和单元格位置的 JSON 元数据 |
它维持严格的元数据策略,模板约定始终优先于默认样式。
name: xlsx-pro
description: "Compétence pour manipuler les fichiers Excel (.xlsx, .xlsm, .csv, .tsv). Utiliser quand l'utilisateur veut : ouvrir, lire, éditer ou créer un fichier tableur ; ajouter des colonnes, calculer des formules, formater, créer des graphiques, nettoyer des données ; convertir entre formats tabulaires. Le livrable doit être un fichier tableur. NE PAS utiliser si le livrable est un document Word, HTML, script Python standalone, ou intégration Google Sheets."
version: "1.0.1"
author: "Eric Barotte"
Compétence Excel pour OpenClawd
TL;DR
- Génère/édite des fichiers Excel avec des formules (pas des valeurs hardcodées).
- Optionnel: recalcul via LibreOffice headless + détection d’erreurs Excel.
- Livrable attendu: un fichier tableur propre (XLSX/XLSM/CSV/TSV).
Prérequis
Dépendances Python
pip install openpyxl pandas xlrd xlwt
LibreOffice (pour recalcul des formules)
# Ubuntu/Debian
sudo apt-get install libreoffice-calc libreoffice-common
Règles de Qualité
Police Professionnelle
- Utiliser une police cohérente (Arial, Times New Roman) sauf instruction contraire
Zéro Erreur de Formule
- Tout fichier Excel DOIT être livré SANS erreurs (#REF!, #DIV/0!, #VALUE!, #N/A, #NAME?)
Préservation des Templates
- Respecter EXACTEMENT le format et style existants lors de modifications
- Les conventions du template préexistant ont TOUJOURS priorité
Standards pour Modèles Financiers
Code Couleur (Standards Industrie)
- Texte bleu (RGB: 0,0,255) : Inputs hardcodés, valeurs modifiables
- Texte noir (RGB: 0,0,0) : TOUTES les formules et calculs
- Texte vert (RGB: 0,128,0) : Liens vers autres feuilles du même classeur
- Texte rouge (RGB: 255,0,0) : Liens externes vers autres fichiers
- Fond jaune (RGB: 255,255,0) : Hypothèses clés ou cellules à mettre à jour
Formatage des Nombres
- Années : Format texte ("2024" pas "2,024")
- Devises : Format $#,##0 ; spécifier unités dans les en-têtes ("Revenue ($mm)")
- Zéros : Afficher comme "-" (format: "$#,##0;($#,##0);-")
- Pourcentages : Format 0.0% par défaut
- Multiples : Format 0.0x (EV/EBITDA, P/E)
- Négatifs : Parenthèses (123) pas moins -123
CRITIQUE : Utiliser des Formules, PAS des Valeurs Hardcodées
TOUJOURS utiliser des formules Excel au lieu de calculer en Python et hardcoder.
? MAUVAIS - Hardcoding
# Mauvais: Calcul Python puis hardcode
total = df['Sales'].sum()
sheet['B10'] = total # Hardcode 5000
# Mauvais: Taux de croissance calculé en Python
growth = (df.iloc[-1]['Revenue'] - df.iloc[0]['Revenue']) / df.iloc[0]['Revenue']
sheet['C5'] = growth # Hardcode 0.15
? CORRECT - Formules Excel
# Bon: Laisser Excel calculer
sheet['B10'] = '=SUM(B2:B9)'
# Bon: Taux de croissance en formule Excel
sheet['C5'] = '=(C4-C2)/C2'
# Bon: Moyenne en fonction Excel
sheet['D20'] = '=AVERAGE(D2:D19)'
Workflows
Workflow Standard
- Choisir l'outil : pandas pour données, openpyxl pour formules/formatage
- Créer/Charger : Nouveau classeur ou fichier existant
- Modifier : Données, formules, formatage
- Sauvegarder : écrire le fichier
- Recalculer (OBLIGATOIRE si formules) :
python scripts/recalc.py output.xlsx - Vérifier et corriger les erreurs détectées
Lecture et Analyse avec pandas
import pandas as pd
# Lire Excel
df = pd.read_excel('file.xlsx') # Première feuille par défaut
all_sheets = pd.read_excel('file.xlsx', sheet_name=None) # Dict de toutes les feuilles
# Analyser
df.head() # Aper?u
df.info() # Info colonnes
df.describe() # Statistiques
# écrire
df.to_excel('output.xlsx', index=False)
Création de Fichiers Excel
from openpyxl import Workbook
from openpyxl.styles import Font, PatternFill, Alignment
wb = Workbook()
sheet = wb.active
# Données
sheet['A1'] = 'Hello'
sheet['B1'] = 'World'
sheet.append(['Row', 'of', 'data'])
# Formule
sheet['B2'] = '=SUM(A1:A10)'
# Formatage
sheet['A1'].font = Font(bold=True, color='FF0000')
sheet['A1'].fill = PatternFill('solid', start_color='FFFF00')
sheet['A1'].alignment = Alignment(horizontal='center')
# Largeur colonne
sheet.column_dimensions['A'].width = 20
wb.save('output.xlsx')
édition de Fichiers Existants
from openpyxl import load_workbook
# Charger fichier existant
wb = load_workbook('existing.xlsx')
sheet = wb.active # ou wb['NomFeuille']
# Parcourir les feuilles
for sheet_name in wb.sheetnames:
sheet = wb[sheet_name]
print(f"Feuille: {sheet_name}")
# Modifier
sheet['A1'] = 'Nouvelle Valeur'
sheet.insert_rows(2) # Insérer ligne
sheet.delete_cols(3) # Supprimer colonne
# Ajouter feuille
new_sheet = wb.create_sheet('NouvelleFeuille')
new_sheet['A1'] = 'Data'
wb.save('modified.xlsx')
Recalcul des Formules
Les fichiers créés par openpyxl contiennent les formules comme cha?nes mais pas les valeurs calculées. Utiliser le script recalc.py :
python scripts/recalc.py [timeout_secondes]
Le script :
- Configure automatiquement la macro LibreOffice au premier lancement
- Recalcule toutes les formules
- Scanne TOUTES les cellules pour erreurs Excel
- Retourne JSON avec détails et emplacements des erreurs
Interprétation de la Sortie
{
"status": "success", // ou "errors_found"
"total_errors": 0, // Nombre total d'erreurs
"total_formulas": 42, // Nombre de formules
"error_summary": { // Présent si erreurs
"#REF!": {
"count": 2,
"locations": ["Sheet1!B5", "Sheet1!C10"]
}
}
}
Checklist de Vérification
Vérifications Essentielles
- Tester 2-3 références : Vérifier qu'elles tirent les bonnes valeurs
- Mapping colonnes : Confirmer correspondance (colonne 64 = BL, pas BK)
- Offset lignes : Excel est 1-indexé (DataFrame row 5 = Excel row 6)
Pièges Courants
- Gestion NaN : Vérifier valeurs nulles avec
pd.notna() - Colonnes éloignées : Données FY souvent en colonnes 50+
- Correspondances multiples : Chercher toutes les occurrences
- Division par zéro : Vérifier dénominateurs (#DIV/0!)
- Références invalides : Vérifier que toutes pointent vers cellules existantes (#REF!)
- Références inter-feuilles : Format correct (Sheet1!A1)
Bonnes Pratiques
Sélection de Bibliothèque
- pandas : Analyse de données, opérations en masse, export simple
- openpyxl : Formatage complexe, formules, fonctionnalités Excel spécifiques
Avec openpyxl
- Indices de cellules en base 1 (row=1, column=1 = cellule A1)
data_only=Truepour lire valeurs calculées- Attention : Sauvegarder après
data_only=Trueremplace définitivement les formules par les valeurs - Pour gros fichiers :
read_only=Trueouwrite_only=True
Avec pandas
- Spécifier types de données :
pd.read_excel('file.xlsx', dtype={'id': str}) - Pour gros fichiers, colonnes spécifiques :
usecols=['A', 'C', 'E'] - Gestion des dates :
parse_dates=['date_column']
Style de Code
IMPORTANT : Code Python minimal et concis, sans commentaires superflus.
Pour les fichiers Excel :
- Commenter les cellules avec formules complexes
- Documenter les sources des données hardcodées
- Inclure notes pour calculs clés
相关推荐
专题
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
最新数据
相关文章
Microsoft Excel:通过 API 实现电子表格自动化 - Openclaw Skills
Excel / XLSX: 专业电子表格自动化 - Openclaw Skills
Excel 周报:Power Query 报告 - Openclaw Skills
xlsx-cn: 高级 Excel 电子表格处理 - Openclaw Skills
xlsx-pro: 专业 Excel 自动化与财务建模 - Openclaw Skills
电子表格:Excel 和 Google 表格自动化 - Openclaw Skills
自动化 Excel:电子表格自动化与数据处理 - Openclaw Skills
CSV 转 Excel 转换器:专业格式化与多工作表支持 - Openclaw Skills
考勤表生成器:自动化人力资源 Excel 报表 - Openclaw Skills
如何在 Excel 中根据多个条件查找并返回最大值?
AI精选
