如何在 Python 中将 Excel 导出为 Markdown
将 Excel 数据导出为 Markdown 是文档流水线、README 生成器和静态站点工作流中的常见需求。. Aspose.Cells FOSS for Python 通过以下方式将其简化为单方法操作 workbook.save_as_markdown()::无需 Microsoft Office。.
注意::Aspose.Cells FOSS 可导出为 XLSX、CSV、TSV、Markdown 和 JSON。PDF 导出不在 FOSS 库中。.
为什么要使用 Aspose.Cells FOSS 将 Excel 导出为 Markdown??
- 无 Office 依赖::完全在 Python 中转换,无需本机 COM 或 Office 安装。.
- 内存中支持::使用以下方式生成 Markdown 字符串,无需任何磁盘 I/O。
MarkdownHandler. - 可自定义输出::通过以下方式配置导出行为。
MarkdownSaveOptions. - 友好的流水线集成::直接集成到文档生成器、Hugo 静态站点或 GitHub Actions 工作流中。.
分步指南
步骤 1:安装 Aspose.Cells FOSS for Python
使用 pip 从 PyPI 安装该库::
pip install aspose-cells-foss验证安装::
from aspose.cells_foss import Workbook
print("Ready.")步骤 2:创建工作簿并填充数据
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步骤 3:导出为 Markdown
调用 workbook.save_as_markdown() 使用一个 .md 输出路径::
workbook.save_as_markdown("report.md")
print("Markdown saved successfully.")输出为标准的 Markdown 表格::
| Product | Q1 Revenue | Q2 Revenue |
|---|---|---|
| Widget A | 12500 | 15000 |
| Widget B | 8750 | 9200 |
| Widget C | 20000 | 22500 |步骤 4:使用 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)传递一个 MarkdownSaveOptions 实例给 save_as_markdown() 用于配置。.
步骤 5:在内存中生成 Markdown(无文件 I/O)
使用 MarkdownHandler.save_markdown_to_string() 获取 Markdown 作为 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.步骤 6:加载已有 XLSX 并导出为 Markdown
from aspose.cells_foss import Workbook
workbook = Workbook("existing_report.xlsx")
workbook.save_as_markdown("existing_report.md")
print("Markdown export complete.")这会保留所有单元格值和基本结构。. 注意:: Markdown 导出读取 cell.value 仅 — 仅包含公式且没有缓存值的单元格将在输出中显示为空。库在导出时不会计算公式。为确保公式结果出现,请先在 Excel 或 LibreOffice 中打开文件(会计算并缓存公式结果),另存为 XLSX,然后重新导出。.
步骤 7:错误处理
在生产环境中将导出代码包裹在 try/except 块中::
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常见问题及解决方案
1. Empty Markdown output
原因::工作表没有填充的单元格。. 解决方法::确认 ws.cells["A1"].value 已设置且不是 None 在调用之前 save_as_markdown().
2. ModuleNotFoundError: No module named 'aspose.cells_foss'
原因::未安装该软件包或使用了错误的软件包名称。. 解决方法: 运行 pip install aspose-cells-foss. 导入是 from aspose.cells_foss import ... (下划线,而不是点).
3. AttributeError: 'Workbook' object has no attribute 'save_as_markdown'
原因: 您安装了错误的包(aspose-cells-python : 而不是 aspose-cells-foss). : 修复: pip install aspose-cells-foss : 并确认 from aspose.cells_foss import Workbook.
4. Encoding issues in output file
: 原因: 将 Markdown 字符串写入文件时未指定 UTF-8 编码。. : 修复: 使用 MarkdownHandler.save_markdown_to_string() 并显式写入::
with open("output.md", "w", encoding="utf-8") as f:
f.write(md_string)常见问答
我可以改为导出为 PDF 吗??
: 不。PDF 导出在 Aspose.Cells FOSS 中不可用。请使用商业版 aspose-cells-python : 软件包进行 PDF 输出。.
我可以加载哪些输入格式并将其导出为 Markdown??
: XLSX 和 CSV 文件可以使用 Workbook("file.xlsx") : 然后导出为 Markdown。.
当有多个工作表时,如何仅导出一个工作表??
: 默认情况下,, save_as_markdown() : 导出第一个工作表。传入一个 MarkdownSaveOptions : 实例以进行额外配置。.
我可以在 Linux 或 macOS 上运行它吗??
可以。该库可在 Windows、Linux 和 macOS 上运行,无需任何平台特定的设置。.
相关资源::
- Aspose.Cells FOSS for Python: Developer Guide
- 电子表格格式导出
- 入门 / 安装
- API 参考:
MarkdownHandler,MarkdownSaveOptions,Workbook.save_as_markdown() - 知识库: 更多操作指南(图表、样式、加载)
- 产品概览: 功能与能力概述
- 博客: Introducing Aspose.Cells FOSS: 库概览与快速入门