如何通过Python脚本将.xls文件转换为PDF

1 投票
1 回答
3407 浏览
提问于 2025-04-17 15:12

我用xlwt模块创建了一个.xls文件。现在我想把这个新创建的xls文件转换成pdf格式。有没有人能告诉我怎么通过Python脚本来实现这个?我现在使用的是Python 2.6版本。

1 个回答

0

这里有两种可能性:第一种是你把 .xls 文件里的内容重新读出来,然后生成一个 PDF 文件;第二种可能是你想直接从刚刚创建 .xls 文件的程序里打印成 .pdf

如果选择第一种情况,你可以考虑直接生成 .pdf 文件(因为你在程序中已经有了生成 .xls 所需的数据)。我有一个网格类,可以把数据输出成 HTML 格式,或者生成 .xls(用 xlwt),.xlsm(用 openpyxl),以及 .pdf(用 reportlab)。

如果你的 .xls 文件里有公式等内容,并且想要在 .pdf 中看到计算结果,那你就需要选择第二种方法。在这种情况下,可以使用 subprocess 来调用 Microsoft Excel 或者 OpenOffice/LibreOffice Calc,并传入正确的命令行参数来打印或转换文件为 PDF。

比如,对于 LibreOffice 4.0,命令行会是:

scalc --convert-to pdf yourfile.xls

这样就会生成一个 yourfile.pdf 文件。

撰写回答