如何通过Python脚本将.xls文件转换为PDF
我用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
文件。