Cara Mengekspor Excel ke Markdown dengan Python
Mengekspor data Excel ke Markdown adalah kebutuhan umum untuk pipeline dokumentasi, generator README, dan alur kerja situs statis. Aspose.Cells FOSS for Python membuat ini menjadi operasi satu metode melalui workbook.save_as_markdown(): tidak memerlukan Microsoft Office.
Catatan: Aspose.Cells FOSS mengekspor ke XLSX, CSV, TSV, Markdown, dan JSON. Ekspor PDF bukan bagian dari perpustakaan FOSS.
Mengapa Mengekspor Excel ke Markdown dengan Aspose.Cells FOSS?
- Tidak bergantung pada Office: Mengonversi sepenuhnya di Python tanpa COM native atau instalasi Office.
- Dukungan dalam memori: Menghasilkan string Markdown tanpa I/O disk menggunakan
MarkdownHandler. - Output yang dapat disesuaikan: Mengonfigurasi perilaku ekspor melalui
MarkdownSaveOptions. - Ramahan pipeline: Mengintegrasikan langsung ke generator dokumentasi, situs statis Hugo, atau alur kerja GitHub Actions.
Panduan Langkah-demi-Langkah
Langkah 1: Instal Aspose.Cells FOSS untuk Python
Instal perpustakaan dari PyPI menggunakan pip:
pip install aspose-cells-fossVerifikasi instalasi:
from aspose.cells_foss import Workbook
print("Ready.")Langkah 2: Buat Workbook dan Isi 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 = 22500Langkah 3: Ekspor ke Markdown
Panggil workbook.save_as_markdown() dengan jalur output .md:
workbook.save_as_markdown("report.md")
print("Markdown saved successfully.")Outputnya adalah tabel Markdown standar:
| Product | Q1 Revenue | Q2 Revenue |
|---|---|---|
| Widget A | 12500 | 15000 |
| Widget B | 8750 | 9200 |
| Widget C | 20000 | 22500 |Langkah 4: Sesuaikan dengan 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)Berikan sebuah instance MarkdownSaveOptions ke save_as_markdown() untuk konfigurasi.
Langkah 5: Hasilkan Markdown dalam Memori (Tanpa I/O File)
Gunakan MarkdownHandler.save_markdown_to_string() untuk mendapatkan Markdown sebagai string Python:
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.Langkah 6: Muat XLSX yang Ada dan Ekspor ke Markdown
from aspose.cells_foss import Workbook
workbook = Workbook("existing_report.xlsx")
workbook.save_as_markdown("existing_report.md")
print("Markdown export complete.")Ini mempertahankan semua nilai sel dan struktur dasar. Catatan: Ekspor Markdown hanya membaca cell.value — sel yang hanya berisi rumus tanpa nilai yang di‑cache akan muncul kosong dalam output. Perpustakaan tidak mengevaluasi rumus saat ekspor. Untuk memastikan hasil rumus muncul, buka file di Excel atau LibreOffice terlebih dahulu (yang mengevaluasi dan menyimpan nilai rumus), simpan sebagai XLSX, lalu ekspor kembali.
Langkah 7: Penanganan Kesalahan
Bungkus ekspor dalam blok try/except untuk penggunaan produksi:
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 FalseMasalah Umum dan Solusi
1. Output Markdown kosong
Cause: Lembar kerja tidak memiliki sel yang terisi.
Fix: Pastikan ws.cells["A1"].value sudah diatur dan bukan None sebelum memanggil save_as_markdown().
2. ModuleNotFoundError: No module named 'aspose.cells_foss'
Cause: Paket tidak terpasang atau nama paket yang salah digunakan.
Fix: Jalankan pip install aspose-cells-foss. Imporannya adalah from aspose.cells_foss import ... (garis bawah, bukan titik).
3. AttributeError: 'Workbook' object has no attribute 'save_as_markdown'
Cause: Anda menginstal paket yang salah (aspose-cells-python alih-alih aspose-cells-foss).
Fix: pip install aspose-cells-foss dan konfirmasi from aspose.cells_foss import Workbook.
4. Masalah pengkodean dalam file output
Cause: Menulis string Markdown ke file tanpa menentukan encoding UTF-8.
Fix: Gunakan MarkdownHandler.save_markdown_to_string() dan tulis secara eksplisit:
with open("output.md", "w", encoding="utf-8") as f:
f.write(md_string)Pertanyaan yang Sering Diajukan
Bisakah saya mengekspor ke PDF sebagai gantinya?
Tidak. Ekspor PDF tidak tersedia di Aspose.Cells FOSS. Gunakan paket komersial aspose-cells-python untuk output PDF.
Format input apa yang dapat saya muat dan kemudian diekspor ke Markdown?
File XLSX dan CSV dapat dimuat dengan Workbook("file.xlsx") dan kemudian diekspor ke Markdown.
Bagaimana cara mengekspor hanya satu lembar ketika ada beberapa lembar?
Secara default, save_as_markdown() mengekspor lembar kerja pertama. Berikan sebuah instance MarkdownSaveOptions untuk konfigurasi tambahan.
Apakah saya dapat menjalankannya di Linux atau macOS?
Ya. Perpustakaan berjalan di Windows, Linux, dan macOS tanpa pengaturan khusus platform apa pun.
Sumber Daya Terkait:
- Aspose.Cells FOSS for Python: Developer Guide
- Spreadsheet Format Export
- Getting Started / Installation
- API Reference:
MarkdownHandler,MarkdownSaveOptions,Workbook.save_as_markdown() - Knowledge Base: Lebih banyak panduan cara (grafik, penataan, pemuatan)
- Product Overview: Ringkasan fitur dan kemampuan
- Blog: Introducing Aspose.Cells FOSS: Gambaran perpustakaan dan memulai cepat