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?
- No Office dependency: Převádí kompletně v Pythonu bez nativního COM nebo instalace Office.
- In-memory support: Generujte řetězce Markdown bez jakéhokoli I/O na disku pomocí
MarkdownHandler. - Customizable output: Nakonfigurujte chování exportu pomocí
MarkdownSaveOptions. - 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-fossOvěř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 = 22500Krok 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:
- Aspose.Cells FOSS pro Python: Průvodce vývojáře
- Export formátu tabulky
- Začínáme / Instalace
- Reference API:
MarkdownHandler,MarkdownSaveOptions,Workbook.save_as_markdown() - Znalostní báze: Další návody (grafy, stylování, načítání)
- Přehled produktu: Shrnutí funkcí a možností
- Blog: Představení Aspose.Cells FOSS: Přehled knihovny a rychlý start