Hur man exporterar Excel till Markdown i Python

Hur man exporterar Excel till Markdown i Python

Att exportera Excel-data till Markdown är ett vanligt krav för dokumentationspipelines, README‑generatorer och arbetsflöden för statiska webbplatser. Aspose.Cells FOSS for Python gör detta till en enkelmetodoperation via workbook.save_as_markdown(): ingen Microsoft Office krävs.

Obs: Aspose.Cells FOSS exporterar till XLSX, CSV, TSV, Markdown och JSON. PDF‑export är inte en del av FOSS‑biblioteket.

Varför exportera Excel till Markdown med Aspose.Cells FOSS?

  1. Ingen Office-beroende: Konverterar helt i Python utan någon inbyggd COM eller Office-installation.
  2. Stöd för minnesbaserad: Generera Markdown-strängar utan någon disk‑I/O med MarkdownHandler.
  3. Anpassningsbar utdata: Konfigurera exportbeteende via MarkdownSaveOptions.
  4. Pipeline‑vänlig: Integrera direkt i dokumentationsgeneratorer, Hugo‑statiksajter eller GitHub Actions‑arbetsflöden.

Steg-för-steg-guide

Steg 1: Installera Aspose.Cells FOSS för Python

Installera biblioteket från PyPI med pip:

pip install aspose-cells-foss

Verifiera installationen:

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

Steg 2: Skapa en arbetsbok och fyll i 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

Steg 3: Exportera till Markdown

Anropa workbook.save_as_markdown() med en .md utdata‑sökväg:

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

Utdata är en standard Markdown‑tabell:

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

Steg 4: Anpassa med 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)

Skicka en MarkdownSaveOptions-instans till save_as_markdown() för konfiguration.


Steg 5: Generera Markdown i minnet (Ingen fil‑I/O)

Använd MarkdownHandler.save_markdown_to_string() för att få Markdown som en Python‑sträng:

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.

Steg 6: Ladda en befintlig XLSX och exportera till Markdown

from aspose.cells_foss import Workbook

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

Detta bevarar alla cellvärden och grundläggande struktur. Obs: Markdown‑export läser endast cell.value — celler som endast innehåller en formel utan cachat värde kommer att visas tomma i utskriften. Biblioteket utvärderar inte formler vid exporttid. För att säkerställa att formelresultat visas, öppna filen i Excel eller LibreOffice först (vilket utvärderar och cachar formelresultat), spara som XLSX, sedan exportera igen.


Steg 7: Felhantering

Omge exporterna med try/except‑block för produktionsbruk:

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

Vanliga problem och lösningar

1. Tomt Markdown‑utdata

Cause: Arbetsbladet har inga ifyllda celler.
Fix: Bekräfta att ws.cells["A1"].value är satt och inte None innan du anropar save_as_markdown().

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

Cause: Paketet är inte installerat eller fel paketnamn användes.
Fix: Kör pip install aspose-cells-foss. Importen är from aspose.cells_foss import ... (understreck, inte punkt).

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

Orsak: Du installerade fel paket (aspose-cells-python istället för aspose-cells-foss).
Lösning: pip install aspose-cells-foss och bekräfta from aspose.cells_foss import Workbook.

4. Kodningsproblem i utdatafil

Orsak: Skriva Markdown‑strängen till en fil utan att ange UTF‑8‑kodning.
Lösning: Använd MarkdownHandler.save_markdown_to_string() och skriv explicit:

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

Vanliga frågor

Kan jag exportera till PDF istället?

Nej. PDF‑export är inte tillgänglig i Aspose.Cells FOSS. Använd det kommersiella aspose-cells-python‑paketet för PDF‑utmatning.

Vilka inmatningsformat kan jag ladda och sedan exportera till Markdown?

XLSX- och CSV-filer kan laddas med Workbook("file.xlsx") och sedan exporteras till Markdown.

Hur exporterar jag endast ett blad när det finns flera blad?

Som standard exporterar save_as_markdown() det första kalkylbladet. Skicka en MarkdownSaveOptions‑instans för ytterligare konfiguration.

Kan jag köra detta på Linux eller macOS?

Ja. Biblioteket körs på Windows, Linux och macOS utan någon plattformspecifik konfiguration.


Relaterade resurser:

 Svenska