我们在django的python中有一个项目。 我们需要生成复杂字,excel和pdf文件。
对于我们在PHP中完成的其他项目,我们使用了PHPexcel , PHPWord和tcpdf for PDF。
您建议使用哪些python库来创建此类文件? (对于excel和word来说,它非常重要,使用开放的xml文件格式xlsx,docx)
答案 0 :(得分:1)
Python-docx可能有所帮助(https://github.com/mikemaccana/python-docx)。
Python没有高度开发的工具来操纵word文档。我发现java库xdocreport(https://code.google.com/p/xdocreport/)是Word报告的最佳选择。因为我需要生成PCL,这是通过FOP高效完成的,我也使用docx4j。
为了将它与我的python集成,我使用spark框架将其包装起来,使用简单的Web服务,并在python端使用requests
与服务进行通信。
答案 1 :(得分:1)
对于excel,有openpyxl,它实际上是PHPexcel的python端口,afaik。我还没有使用它,但对我来说听起来还不错。
答案 2 :(得分:1)
我建议使用Docutils。它需要reStructuredText文件并将它们转换为一系列输出文件。包中包含HTML,LaTeX和.odf文件编写器,但在sandbox中有大量其他编写器用于写入其他格式,例如,参见WordML writer (免责声明:我没有使用过它)。
此解决方案的优点是您可以编写纯文本(reStructuredText)主文件,这些文件是人类可读的,然后根据需要转换为一系列其他文件格式。
虽然不是Python解决方案,但您还应该查看Pandoc一个Haskell库,该库支持 更广泛的输出和输入格式而不是docutils。 Pandoc优于Docutils的一个主要优点是您可以进行反向转换,即WordML到reStructuredText。您可以尝试Pandoc here。
答案 3 :(得分:0)
我从来没有使用任何库,但您可以将任何docx
,xlsx
文件的扩展名更改为zip
,并看到魔法!
生成openxml文件就像生成几个XML文件(您可以使用模板)并压缩它一样简单。
答案 4 :(得分:0)
生成PDF的最简单方法是生成HTML(带有CSS +图像)并使用wkhtmltopdf
工具进行转换。