Comment exporter Excel en Markdown avec Python
Exporter des données Excel vers Markdown est une exigence courante pour les pipelines de documentation, les générateurs de README et les flux de travail de sites statiques. Aspose.Cells FOSS for Python rend cela possible en une seule méthode via workbook.save_as_markdown() : aucun Microsoft Office requis.
Note : Aspose.Cells FOSS exporte vers XLSX, CSV, TSV, Markdown et JSON. L’exportation PDF ne fait pas partie de la bibliothèque FOSS.
Pourquoi exporter Excel en Markdown avec Aspose.Cells FOSS ?
- Pas de dépendance Office : Convertit entièrement en Python sans COM natif ni installation d’Office.
- Prise en charge en mémoire : Génère des chaînes Markdown sans aucune I/O disque en utilisant
MarkdownHandler. - Sortie personnalisable : Configure le comportement d’exportation via
MarkdownSaveOptions. - Compatible avec les pipelines : Intégrez directement aux générateurs de documentation, sites statiques Hugo ou flux de travail GitHub Actions.
Guide étape par étape
Étape 1 : Installer Aspose.Cells FOSS pour Python
Installez la bibliothèque depuis PyPI à l’aide de pip :
pip install aspose-cells-fossVérifiez l’installation :
from aspose.cells_foss import Workbook
print("Ready.")Étape 2 : Créer un classeur et remplir les données
from aspose.cells_foss import Workbook, Cell
workbook = Workbook()
ws = workbook.worksheets[0]
##Headers
ws.cells["A1"].value = "Product"
ws.cells["B1"].value = "Q1 Revenue"
ws.cells["C1"].value = "Q2 Revenue"
##Data rows
ws.cells["A2"].value = "Widget A"
ws.cells["B2"].value = 12500
ws.cells["C2"].value = 15000
ws.cells["A3"].value = "Widget B"
ws.cells["B3"].value = 8750
ws.cells["C3"].value = 9200
ws.cells["A4"].value = "Widget C"
ws.cells["B4"].value = 20000
ws.cells["C4"].value = 22500Étape 3 : Exporter vers Markdown
Appelez workbook.save_as_markdown() avec un chemin de sortie .md :
workbook.save_as_markdown("report.md")
print("Markdown saved successfully.")La sortie est un tableau Markdown standard :
| Product | Q1 Revenue | Q2 Revenue |
|---|---|---|
| Widget A | 12500 | 15000 |
| Widget B | 8750 | 9200 |
| Widget C | 20000 | 22500 |Étape 4 : Personnaliser avec MarkdownSaveOptions
Utilisez MarkdownSaveOptions pour contrôler le format de sortie :
from aspose.cells_foss import Workbook, Cell, MarkdownSaveOptions
workbook = Workbook()
ws = workbook.worksheets[0]
ws.cells["A1"].value = "City"
ws.cells["B1"].value = "Population"
ws.cells["A2"].value = "London"
ws.cells["B2"].value = 9000000
ws.cells["A3"].value = "Tokyo"
ws.cells["B3"].value = 13960000
options = MarkdownSaveOptions()
workbook.save_as_markdown("cities.md", options)Passez une instance MarkdownSaveOptions à save_as_markdown() pour la configuration.
Étape 5 : Générer le Markdown en mémoire (sans I/O de fichier)
Utilisez MarkdownHandler.save_markdown_to_string() pour obtenir le Markdown sous forme de chaîne Python :
from aspose.cells_foss import Workbook, Cell, MarkdownHandler
workbook = Workbook()
ws = workbook.worksheets[0]
ws.cells["A1"].value = "Key"
ws.cells["B1"].value = "Value"
ws.cells["A2"].value = "version"
ws.cells["B2"].value = "26.3.0"
ws.cells["A3"].value = "license"
ws.cells["B3"].value = "MIT"
md_string = MarkdownHandler.save_markdown_to_string(workbook)
print(md_string)
##Use md_string in an API response, a GitHub README template, etc.Étape 6: charger un fichier XLSX existant et l’exporter au format Markdown
from aspose.cells_foss import Workbook
workbook = Workbook("existing_report.xlsx")
workbook.save_as_markdown("existing_report.md")
print("Markdown export complete.")Cela préserve toutes les valeurs des cellules et la structure de base. Note : L’exportation Markdown lit uniquement cell.value — les cellules qui ne contiennent qu’une formule sans valeur mise en cache apparaîtront vides dans le résultat. La bibliothèque n’évalue pas les formules lors de l’exportation. Pour garantir que les résultats des formules apparaissent, ouvrez d’abord le fichier dans Excel ou LibreOffice (qui évaluent et mettent en cache les résultats des formules), enregistrez‑le au format XLSX, puis ré‑exportez.
Étape 7 : Gestion des erreurs
Enveloppez les exportations dans des blocs try/except pour une utilisation en production :
from aspose.cells_foss import Workbook
def export_to_markdown(xlsx_path: str, md_path: str) -> bool:
try:
workbook = Workbook(xlsx_path)
workbook.save_as_markdown(md_path)
return True
except FileNotFoundError:
print(f"Input file not found: {xlsx_path}")
return False
except Exception as e:
print(f"Export failed for {xlsx_path}: {e}")
return FalseProblèmes courants et solutions
1. Sortie Markdown vide
Cause: La feuille de calcul ne contient aucune cellule remplie.
Correction: Vérifiez que ws.cells["A1"].value est défini et non None avant d’appeler save_as_markdown().
2. ModuleNotFoundError: No module named 'aspose.cells_foss'
Cause: Le package n’est pas installé ou le mauvais nom de package a été utilisé.
Fix: Exécutez pip install aspose-cells-foss. L’import est from aspose.cells_foss import ... (underscore, pas de point).
3. AttributeError: 'Workbook' object has no attribute 'save_as_markdown'
Cause : Vous avez installé le mauvais package (aspose-cells-python au lieu de aspose-cells-foss). Fix : pip install aspose-cells-foss et confirmez from aspose.cells_foss import Workbook.
4. Problèmes d’encodage dans le fichier de sortie
Cause : Écriture de la chaîne Markdown dans un fichier sans spécifier l’encodage UTF‑8.
Fix : Utilisez MarkdownHandler.save_markdown_to_string() et écrivez explicitement :
with open("output.md", "w", encoding="utf-8") as f:
f.write(md_string)Foire aux questions
Puis-je exporter en PDF à la place ?
Non. L’exportation PDF n’est pas disponible dans Aspose.Cells FOSS. Utilisez le package commercial aspose-cells-python pour la sortie PDF.
Quels formats d’entrée puis-je charger puis exporter en Markdown ?
Les fichiers XLSX et CSV peuvent être chargés avec Workbook("file.xlsx") puis exportés vers Markdown.
Comment exporter une seule feuille lorsqu’il y a plusieurs feuilles ?
Par défaut, save_as_markdown() exporte la première feuille de calcul. Passez une instance MarkdownSaveOptions pour une configuration supplémentaire.
Puis-je exécuter cela sur Linux ou macOS ?
Oui. La bibliothèque fonctionne sous Windows, Linux et macOS sans aucune configuration spécifique à la plateforme.
Ressources associées :
- Aspose.Cells FOSS pour Python : Guide du développeur
- Exportation de format de feuille de calcul
- Premiers pas / Installation
- Référence de l’API :
MarkdownHandler,MarkdownSaveOptions,Workbook.save_as_markdown() - Base de connaissances : Plus de guides pratiques (graphes, mise en forme, chargement)
- Vue d’ensemble du produit : Résumé des fonctionnalités et capacités
- Blog : Présentation d’Aspose.Cells FOSS : Vue d’ensemble de la bibliothèque et démarrage rapide