Comment exporter Excel en Markdown avec Python

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 ?

  1. Pas de dépendance Office : Convertit entièrement en Python sans COM natif ni installation d’Office.
  2. Prise en charge en mémoire : Génère des chaînes Markdown sans aucune I/O disque en utilisant MarkdownHandler.
  3. Sortie personnalisable : Configure le comportement d’exportation via MarkdownSaveOptions.
  4. 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-foss

Vé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 False

Problè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 :

 Français