Cách xuất Excel sang Markdown trong Python
Xuất dữ liệu Excel sang Markdown là một yêu cầu phổ biến cho các pipeline tài liệu, trình tạo README và quy trình làm việc của trang tĩnh. Aspose.Cells FOSS for Python biến việc này thành một thao tác một phương thức duy nhất thông qua workbook.save_as_markdown(): không cần Microsoft Office.
Lưu ý: Aspose.Cells FOSS xuất ra XLSX, CSV, TSV, Markdown và JSON. Xuất PDF không phải là một phần của thư viện FOSS.
Tại sao nên xuất Excel sang Markdown với Aspose.Cells FOSS?
- Không phụ thuộc vào Office: Chuyển đổi hoàn toàn trong Python mà không cần COM gốc hay cài đặt Office.
- Hỗ trợ trong bộ nhớ: Tạo chuỗi Markdown mà không cần I/O đĩa nào bằng cách sử dụng
MarkdownHandler. - Đầu ra có thể tùy chỉnh:Cấu hình hành vi xuất qua
MarkdownSaveOptions. - Thân thiện với pipeline: Tích hợp trực tiếp vào các công cụ tạo tài liệu, trang tĩnh Hugo, hoặc quy trình làm việc của GitHub Actions.
Hướng Dẫn Từng Bước
Bước 1: Cài đặt Aspose.Cells FOSS cho Python
Cài đặt thư viện từ PyPI bằng pip:
pip install aspose-cells-fossXác minh việc cài đặt:
from aspose.cells_foss import Workbook
print("Ready.")Bước 2: Tạo một Sổ làm việc và Điền Dữ liệu
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 = 22500Bước 3: Xuất sang Markdown
Gọi workbook.save_as_markdown() với một .md đường dẫn đầu ra:
workbook.save_as_markdown("report.md")
print("Markdown saved successfully.")Kết quả là một bảng Markdown tiêu chuẩn:
| Product | Q1 Revenue | Q2 Revenue |
|---|---|---|
| Widget A | 12500 | 15000 |
| Widget B | 8750 | 9200 |
| Widget C | 20000 | 22500 |Bước 4: Tùy chỉnh với MarkdownSaveOptions
Sử dụng MarkdownSaveOptions để kiểm soát định dạng đầu ra:
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)Truyền một MarkdownSaveOptions đối tượng tới save_as_markdown() để cấu hình.
Bước 5: Tạo Markdown trong bộ nhớ (Không có I/O tệp)
Sử dụng MarkdownHandler.save_markdown_to_string() để lấy Markdown dưới dạng chuỗi 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.Bước 6: Tải một tệp XLSX hiện có và xuất ra Markdown
from aspose.cells_foss import Workbook
workbook = Workbook("existing_report.xlsx")
workbook.save_as_markdown("existing_report.md")
print("Markdown export complete.")Điều này giữ lại tất cả các giá trị ô và cấu trúc cơ bản. Lưu ý: Xuất Markdown đọc cell.value chỉ — các ô chỉ chứa công thức mà không có giá trị đã lưu sẽ hiển thị trống trong kết quả. Thư viện không tính toán công thức khi xuất. Để đảm bảo kết quả công thức xuất hiện, hãy mở tệp trong Excel hoặc LibreOffice trước (để chúng tính toán và lưu giá trị công thức), lưu lại dưới dạng XLSX, sau đó xuất lại.
Bước 7: Xử lý lỗi
Bao quanh các thao tác xuất bằng khối try/except cho môi trường sản xuất:
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 FalseCác Vấn Đề Thường Gặp và Cách Khắc Phục
1. Empty Markdown output
Nguyên nhân: Bảng tính không có ô nào được điền dữ liệu. Khắc phục: Xác nhận ws.cells["A1"].value được đặt và không None trước khi gọi save_as_markdown().
2. ModuleNotFoundError: No module named 'aspose.cells_foss'
Nguyên nhân: Gói chưa được cài đặt hoặc tên gói đã dùng không đúng. Sửa: Chạy pip install aspose-cells-foss. Việc nhập là from aspose.cells_foss import ... (gạch dưới, không phải dấu chấm).
3. AttributeError: 'Workbook' object has no attribute 'save_as_markdown'
Nguyên nhân: Bạn đã cài đặt gói sai (aspose-cells-python : thay vì aspose-cells-foss). : Sửa: pip install aspose-cells-foss : và xác nhận from aspose.cells_foss import Workbook.
4. Encoding issues in output file
: Nguyên nhân: Viết chuỗi Markdown vào tệp mà không chỉ định mã hoá UTF-8. : Sửa: Sử dụng MarkdownHandler.save_markdown_to_string() : và ghi một cách rõ ràng:
with open("output.md", "w", encoding="utf-8") as f:
f.write(md_string)Câu hỏi thường gặp
Tôi có thể xuất ra PDF thay thế không?
: Không. Xuất PDF không khả dụng trong Aspose.Cells FOSS. Sử dụng phiên bản thương mại aspose-cells-python gói cho xuất PDF.
Tôi có thể tải các định dạng đầu vào nào và sau đó xuất ra Markdown?
Các tệp XLSX và CSV có thể được tải bằng Workbook("file.xlsx") và sau đó xuất ra Markdown.
Làm thế nào để tôi chỉ xuất một sheet khi có nhiều sheet?
Mặc định, save_as_markdown() xuất worksheet đầu tiên. Truyền một MarkdownSaveOptions đối tượng để cấu hình bổ sung.
Tôi có thể chạy nó trên Linux hoặc macOS không?
Có. Thư viện chạy trên Windows, Linux và macOS mà không cần thiết lập đặc thù cho nền tảng.
Tài nguyên liên quan:
- Aspose.Cells FOSS for Python: Developer Guide
- Xuất định dạng bảng tính
- Bắt đầu / Cài đặt
- Tham chiếu API:
MarkdownHandler,MarkdownSaveOptions,Workbook.save_as_markdown() - Cơ sở kiến thức: Thêm hướng dẫn cách thực hiện (biểu đồ, kiểu dáng, tải lên)
- Tổng quan sản phẩm: Tóm tắt các tính năng và khả năng
- Blog: Giới thiệu Aspose.Cells FOSS: Tổng quan thư viện và hướng dẫn nhanh