Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
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.
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.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
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).
pip install openpyxl pandas xlrd xlwt
# Ubuntu/Debian sudo apt-get install libreoffice-calc libreoffice-common
Utiliser une police cohérente (Arial, Times New Roman) sauf instruction contraire
Tout fichier Excel DOIT être livré SANS erreurs (#REF!, #DIV/0!, #VALUE!, #N/A, #NAME?)
Respecter EXACTEMENT le format et style existants lors de modifications Les conventions du template préexistant ont TOUJOURS priorité
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
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
TOUJOURS utiliser des formules Excel au lieu de calculer en Python et hardcoder.
# 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
# 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)'
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
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)
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')
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')
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 <fichier_excel> [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
{ "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"] } } }
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)
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)
pandas : Analyse de données, opérations en masse, export simple openpyxl : Formatage complexe, formules, fonctionnalités Excel spécifiques
Indices de cellules en base 1 (row=1, column=1 = cellule A1) data_only=True pour lire valeurs calculées Attention : Sauvegarder après data_only=True remplace définitivement les formules par les valeurs Pour gros fichiers : read_only=True ou write_only=True
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']
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
Workflow acceleration for inboxes, docs, calendars, planning, and execution loops.
Largest current source with strong distribution and engagement signals.