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 quy trình tài liệu, trình tạo README và quy trình công việc trang tĩnh. Aspose.Cells FOSS for Python thực hiện điều này bằng 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 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 hoặc 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 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 Workbook 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 ra Markdown
Gọi workbook.save_as_markdown() với một đường dẫn đầu ra .md:
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
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)Chuyển một thể hiện MarkdownSaveOptions 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.")Cái 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 chỉ đọc cell.value — các ô chỉ chứa công thức mà không có giá trị đã lưu sẽ hiển thị trống trong đầu ra. Thư viện không đánh giá công thức khi xuất. Để đảm bảo kết quả công thức hiển thị, hãy mở tệp trong Excel hoặc LibreOffice trước (điều này sẽ đánh giá và lưu trữ kết quả công thức), lưu dưới dạng XLSX, sau đó xuất lại.
Bước 7: Xử lý lỗi
Bao bọc các export trong khối try/except để sử dụng trong 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. Đầu ra Markdown trống
Cause: Bảng tính không có ô nào được điền dữ liệu.
Fix: Xác nhận ws.cells["A1"].value đã được đặt và không phải 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 đã sử dụng tên gói sai.
Cách khắc phục: Chạy pip install aspose-cells-foss. Lệnh import 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).
Cách khắc phục: pip install aspose-cells-foss và xác nhận from aspose.cells_foss import Workbook.
4. Các vấn đề mã hoá trong tệp đầu ra
Nguyên nhân: Ghi chuỗi Markdown vào tệp mà không chỉ định mã hoá UTF-8.
Cách khắc phục: 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 sang PDF thay thế không?
Không. Xuất PDF không khả dụng trong Aspose.Cells FOSS. Sử dụng gói thương mại aspose-cells-python để xuất PDF.
Các định dạng đầu vào nào tôi có thể tải lên và sau đó xuất ra Markdown?
Các tệp XLSX và CSV có thể được tải lên bằng Workbook("file.xlsx") và sau đó xuất ra Markdown.
Làm sao để xuất chỉ một sheet khi có nhiều sheet?
Mặc định, save_as_markdown() xuất worksheet đầu tiên. Truyền một thể hiện MarkdownSaveOptions để cấu hình bổ sung.
Tôi có thể chạy điều này 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 nào.
Tài nguyên liên quan:
- Aspose.Cells FOSS cho Python: Hướng dẫn dành cho nhà phát triển
- Định dạng xuất
- 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 đồ, định dạng, tải dữ liệu)
- Tổng quan sản phẩm: Tóm tắt 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