Wie man Excel nach Markdown in Python exportiert

Wie man Excel nach Markdown in Python exportiert

Das Exportieren von Excel‑Daten nach Markdown ist eine häufige Anforderung für Dokumentations‑Pipelines, README‑Generatoren und Workflows für statische Websites. Aspose.Cells FOSS for Python ermöglicht dies mit einer einzigen Methode über workbook.save_as_markdown(): kein Microsoft Office erforderlich.

Hinweis: Aspose.Cells FOSS exportiert nach XLSX, CSV, TSV, Markdown und JSON. Der PDF-Export ist nicht Teil der FOSS-Bibliothek.

Warum Excel mit Aspose.Cells FOSS nach Markdown exportieren?

  1. Keine Office-Abhängigkeit: Konvertiert vollständig in Python ohne native COM- oder Office-Installation.
  2. In-Memory-Unterstützung: Erzeugt Markdown‑Zeichenketten ohne jegliche Festplatten‑I/O mithilfe von MarkdownHandler.
  3. Anpassbare Ausgabe: Konfigurieren Sie das Exportverhalten über MarkdownSaveOptions.
  4. Pipeline‑freundlich: Direkt in Dokumentationsgeneratoren, Hugo‑Static‑Sites oder GitHub‑Actions‑Workflows integrieren.

Schritt-für-Schritt-Anleitung

Schritt 1: Installieren Sie Aspose.Cells FOSS für Python

Installieren Sie die Bibliothek von PyPI mit pip:

pip install aspose-cells-foss

Installation überprüfen:

from aspose.cells_foss import Workbook
print("Ready.")

Schritt 2: Arbeitsmappe erstellen und Daten befüllen

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

Schritt 3: Export nach Markdown

Rufen Sie workbook.save_as_markdown() mit einem .md Ausgabepfad auf:

workbook.save_as_markdown("report.md")
print("Markdown saved successfully.")

Die Ausgabe ist eine Standard‑Markdown‑Tabelle:

| Product | Q1 Revenue | Q2 Revenue |
|---|---|---|
| Widget A | 12500 | 15000 |
| Widget B | 8750 | 9200 |
| Widget C | 20000 | 22500 |

Schritt 4: Anpassen mit MarkdownSaveOptions

MarkdownSaveOptions

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)

Übergeben Sie eine MarkdownSaveOptions‑Instanz an save_as_markdown() zur Konfiguration.


Schritt 5: Markdown im Speicher generieren (keine Datei‑E/A)

Verwenden Sie MarkdownHandler.save_markdown_to_string(), um das Markdown als Python‑String zu erhalten:

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.

Schritt 6: Laden einer vorhandenen XLSX und Export nach Markdown

from aspose.cells_foss import Workbook

workbook = Workbook("existing_report.xlsx")
workbook.save_as_markdown("existing_report.md")
print("Markdown export complete.")

Dies bewahrt alle Zellwerte und die Grundstruktur. Hinweis: Der Markdown‑Export liest nur cell.value — Zellen, die nur eine Formel ohne zwischengespeicherten Wert enthalten, erscheinen im Ergebnis leer. Die Bibliothek wertet Formeln beim Export nicht aus. Um sicherzustellen, dass Formelergebnisse angezeigt werden, öffnen Sie die Datei zuerst in Excel oder LibreOffice (die die Formelergebnisse auswerten und zwischenspeichern), speichern Sie sie als XLSX und exportieren Sie sie erneut.


Schritt 7: Fehlerbehandlung

Verpacken Sie Exporte in try/except‑Blöcke für den Produktionseinsatz:

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

Häufige Probleme und Lösungen

1. Leere Markdown‑Ausgabe

Ursache: Das Arbeitsblatt enthält keine ausgefüllten Zellen.
Lösung: Bestätigen Sie, dass ws.cells["A1"].value gesetzt ist und nicht None, bevor Sie save_as_markdown() aufrufen.

2. ModuleNotFoundError: No module named 'aspose.cells_foss'

Ursache: Das Paket ist nicht installiert oder der falsche Paketname wurde verwendet.
Lösung: Führen Sie pip install aspose-cells-foss aus. Der Import ist from aspose.cells_foss import ... (Unterstrich, nicht Punkt).

3. AttributeError: 'Workbook' object has no attribute 'save_as_markdown'

Ursache: Sie haben das falsche Paket (aspose-cells-python statt aspose-cells-foss) installiert.
Lösung: pip install aspose-cells-foss und bestätigen from aspose.cells_foss import Workbook.

4. Kodierungsprobleme in der Ausgabedatei

Ursache: Schreiben der Markdown‑Zeichenkette in eine Datei ohne Angabe der UTF‑8‑Kodierung.
Lösung: Verwenden Sie MarkdownHandler.save_markdown_to_string() und schreiben Sie explizit:

with open("output.md", "w", encoding="utf-8") as f:
    f.write(md_string)

Häufig gestellte Fragen

Kann ich stattdessen als PDF exportieren?

Nein. Der PDF‑Export ist in Aspose.Cells FOSS nicht verfügbar. Verwenden Sie das kommerzielle aspose-cells-python‑Paket für die PDF‑Ausgabe.

Welche Eingabeformate kann ich laden und dann nach Markdown exportieren?

XLSX- und CSV-Dateien können mit Workbook("file.xlsx") geladen und anschließend in Markdown exportiert werden.

Wie exportiere ich nur ein Blatt, wenn mehrere Blätter vorhanden sind?

Standardmäßig exportiert save_as_markdown() das erste Arbeitsblatt. Übergeben Sie eine MarkdownSaveOptions‑Instanz für zusätzliche Konfiguration.

Kann ich das unter Linux oder macOS ausführen?

Ja. Die Bibliothek läuft unter Windows, Linux und macOS ohne plattformspezifische Einrichtung.


Verwandte Ressourcen:

 Deutsch