Kaip eksportuoti Excel į Markdown naudojant Python

Kaip eksportuoti Excel į Markdown naudojant Python

Excel duomenų eksportavimas į Markdown yra dažnas reikalavimas dokumentacijos konvejeriams, README generatoriams ir statinių svetainių darbo srautams. Aspose.Cells FOSS for Python tai padaro vieno metodo operacija per workbook.save_as_markdown(): nereikia Microsoft Office.

Pastaba: Aspose.Cells FOSS eksportuoja į XLSX, CSV, TSV, Markdown ir JSON. PDF eksportas nėra FOSS bibliotekos dalis.

Kodėl eksportuoti Excel į Markdown su Aspose.Cells FOSS?

  1. Nėra Office priklausomybės: Vykdo konvertavimą visiškai Python kalba be natūralios COM ar Office įdiegimo.
  2. Atminties palaikymas: Generuokite Markdown eilutes be jokio disko I/O naudojant MarkdownHandler.
  3. Pritaikomas išvestis: Konfigūruokite eksporto elgseną per MarkdownSaveOptions.
  4. Vamzdynų draugiškas: Integruokite tiesiogiai į dokumentacijos generatorius, Hugo statinius tinklalapius arba GitHub Actions darbo srautus.

Žingsnis po žingsnio vadovas

Žingsnis 1: Įdiekite Aspose.Cells FOSS for Python

Įdiekite biblioteką iš PyPI naudodami pip:

pip install aspose-cells-foss

Patikrinkite diegimą:

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

Žingsnis 2: Sukurkite darbaknygę ir įkelkite duomenis

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

Žingsnis 3: Eksportuoti į Markdown

Iškviesti workbook.save_as_markdown() su .md išvesties keliu:

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

Išvestis yra standartinė Markdown lentelė:

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

Žingsnis 4: Tinkinti naudojant MarkdownSaveOptions

Naudokite MarkdownSaveOptions, kad kontroliuotumėte išvesties formatą:

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)

Perduokite MarkdownSaveOptions egzempliorių save_as_markdown() konfigūravimui.


Žingsnis 5: Generuoti Markdown atmintyje (be failų I/O)

Naudokite MarkdownHandler.save_markdown_to_string(), kad gautumėte „Markdown“ kaip Python eilutę:

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.

Žingsnis 6: Įkelti esamą XLSX ir eksportuoti į Markdown

from aspose.cells_foss import Workbook

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

Tai išsaugo visas ląstelių reikšmes ir pagrindinę struktūrą. Pastaba: Markdown eksportas skaito tik cell.value — ląstelės, kuriose yra tik formulė be išsaugotos reikšmės, bus rodomos kaip tuščios išvestyje. Biblioteka neįvertina formulių eksporto metu. Norint užtikrinti, kad formulės rezultatai būtų rodomi, pirmiausia atidarykite failą Excel arba LibreOffice (kurios įvertina ir išsaugo formulės rezultatus), išsaugokite kaip XLSX, tada eksportuokite iš naujo.


Žingsnis 7: Klaidų tvarkymas

Apvyniokite eksporto funkcijas try/except blokais gamybos naudojimui:

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

Įprastos problemos ir sprendimai

1. Tuščia Markdown išvestis

Cause: Darbalapyje nėra užpildytų langelių.
Fix: Patikrinkite, ar ws.cells["A1"].value yra nustatytas ir nėra None prieš iškviečiant save_as_markdown().

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

Cause: Paketas neįdiegtas arba buvo naudojamas neteisingas paketo pavadinimas.
Fix: Vykdykite pip install aspose-cells-foss. Importas yra from aspose.cells_foss import ... (pabraukimas, ne taškas).

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

Priežastis: Įdiegėte neteisingą paketą (aspose-cells-python vietoj aspose-cells-foss).
Sprendimas: pip install aspose-cells-foss ir patvirtinkite from aspose.cells_foss import Workbook.

4. Koduotės problemos išvesties faile

Cause: Rašant Markdown eilutę į failą nenurodant UTF‑8 koduotės.
Fix: Naudokite MarkdownHandler.save_markdown_to_string() ir rašykite aiškiai:

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

Dažnai užduodami klausimai

Ar galiu vietoj to eksportuoti į PDF?

Ne. PDF eksportas nėra prieinamas Aspose.Cells FOSS. Naudokite komercinį aspose-cells-python paketą PDF išvesties generavimui.

Kuriuos įvesties formatus galiu įkelti ir tada eksportuoti į Markdown?

XLSX ir CSV failus galima įkelti naudojant Workbook("file.xlsx") ir tada eksportuoti į Markdown.

Kaip eksportuoti tik vieną lapą, kai yra keli lapai?

Pagal numatytuosius nustatymus, save_as_markdown() eksportuoja pirmą darbalapį. Perduokite MarkdownSaveOptions egzempliorių papildomai konfigūracijai.

Ar galiu paleisti tai Linux ar macOS?

Taip. Biblioteka veikia Windows, Linux ir macOS be jokio platformos specifinio nustatymo.


Susiję ištekliai:

 Lietuvių