Jak exportovat Excel do Markdownu v Pythonu

Jak exportovat Excel do Markdownu v Pythonu

Exportování dat z Excelu do Markdownu je běžným požadavkem pro dokumentační pipeline, generátory README a pracovní postupy statických webů. Aspose.Cells FOSS for Python to umožňuje jednou metodou prostřednictvím workbook.save_as_markdown(): není vyžadován Microsoft Office.

Poznámka: Aspose.Cells FOSS exportuje do XLSX, CSV, TSV, Markdown a JSON. Export do PDF není součástí knihovny FOSS.

Proč exportovat Excel do Markdownu s Aspose.Cells FOSS?

  1. No Office dependency: Převádí kompletně v Pythonu bez nativního COM nebo instalace Office.
  2. In-memory support: Generujte řetězce Markdown bez jakéhokoli I/O na disku pomocí MarkdownHandler.
  3. Customizable output: Nakonfigurujte chování exportu pomocí MarkdownSaveOptions.
  4. Pipeline-friendly: Integrujte přímo do generátorů dokumentace, statických stránek Hugo nebo pracovních postupů GitHub Actions.

Průvodce krok za krokem

Krok 1: Nainstalujte Aspose.Cells FOSS pro Python

Nainstalujte knihovnu z PyPI pomocí pip:

pip install aspose-cells-foss

Ověřte instalaci:

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

Krok 2: Vytvořte sešit a naplňte data

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

Krok 3: Export do Markdownu

Zavolejte workbook.save_as_markdown() s výstupní cestou .md:

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

Výstup je standardní tabulka v Markdownu:

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

Krok 4: Přizpůsobení pomocí MarkdownSaveOptions

Použijte MarkdownSaveOptions k řízení formátu výstupu:

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)

Předat instanci MarkdownSaveOptions do save_as_markdown() pro konfiguraci.


Krok 5: Generovat Markdown v paměti (bez souborových operací)

Použijte MarkdownHandler.save_markdown_to_string() k získání Markdownu jako řetězce v Pythonu:

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.

Krok 6: Načíst existující XLSX a exportovat do Markdownu

from aspose.cells_foss import Workbook

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

Toto zachovává všechny hodnoty buněk a základní strukturu. Poznámka: Markdown export reads cell.value only — buňky, které obsahují pouze vzorec bez uložené hodnoty, se v výstupu zobrazí prázdně. Knihovna nevyhodnocuje vzorce při exportu. Aby se zajistilo, že se výsledky vzorců zobrazí, otevřete soubor nejprve v Excelu nebo LibreOffice (které vyhodnotí a uloží výsledky vzorců), uložte jako XLSX a poté exportujte znovu.


Krok 7: Zpracování chyb

Zabalte exporty do bloků try/except pro produkční použití:

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

Časté problémy a opravy

1. Prázdný výstup Markdownu

Příčina: Pracovní list nemá žádné vyplněné buňky.
Oprava: Potvrďte, že ws.cells["A1"].value je nastaven a není None před voláním save_as_markdown().

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

Příčina: Balíček není nainstalován nebo byl použit nesprávný název balíčku.
Oprava: Spusťte pip install aspose-cells-foss. Import je from aspose.cells_foss import ... (podtržítko, ne tečka).

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

Cause: Nainstalovali jste nesprávný balíček (aspose-cells-python místo aspose-cells-foss).
Fix: pip install aspose-cells-foss a potvrďte from aspose.cells_foss import Workbook.

4. Problémy s kódováním ve výstupním souboru

Příčina: Zapisování řetězce Markdown do souboru bez určení kódování UTF-8.
Oprava: Použijte MarkdownHandler.save_markdown_to_string() a zapisujte explicitně:

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

Často kladené otázky

Mohu exportovat do PDF místo toho?

Ne. Export PDF není k dispozici v Aspose.Cells FOSS. Použijte komerční balíček aspose-cells-python pro výstup PDF.

Jaké vstupní formáty mohu načíst a poté exportovat do Markdownu?

Soubory XLSX a CSV lze načíst pomocí Workbook("file.xlsx") a poté exportovat do Markdownu.

Jak exportovat pouze jeden list, když je jich více?

Ve výchozím nastavení save_as_markdown() exportuje první list. Předávejte instanci MarkdownSaveOptions pro další konfiguraci.

Mohu to spustit na Linuxu nebo macOS?

Ano. Knihovna běží na Windows, Linuxu a macOS bez jakéhokoli platformně specifického nastavení.


Související zdroje:

 Čeština