从python创buildoffice文件

我们有一个Django的python项目。 我们需要生成复杂的单词,excel和pdf文件。

对于我们在PHP中完成的其余项目,我们使用PHPexcel , PHPWord和tcpdf作为PDF。

python的什么库,你会build议创build这种文件? (对于excel和word来说,它使用开放的xml文件格式xlsx,docx)

Python-docx可能有帮助( https://github.com/mikemaccana/python-docx )。

Python没有高度开发的工具来处理word文档。 我发现Java库xdocreport( https://code.google.com/p/xdocreport/ )是迄今为止Word报表最好的。 因为我需要生成通过FOP高效完成的PCL,我也使用docx4j。

为了把这个和我的python集成起来,我使用spark框架来包装一个简单的web服务,并且使用python端的requests来与服务交谈。

对于excel,有一个openpyxl ,它实际上是PHPexcel的一个python端口afaik。 我还没有用过,但是对我来说听起来不错。

我会推荐使用Docutils 。 它需要reStructuredText文件并将其转换为一系列的输出文件。 包中包含HTML,LaTeX和.odf文件编写器,但是在沙盒中,有其他编写器用于写入其他格式的整个负载,请参阅WordML编写器(免责声明:我没有使用它)

这个解决scheme的优点是你可以编写纯文本(reStructuredText)主文件,这些文件是人类可读的,然后根据需要转换成其他文件格式的范围。

虽然不是Python解决scheme,但您还应该看看Pandoc是一个Haskell库,它支持比docutils更广泛的输出和input格式。 Pandoc与Docutils相比的一个主要优点是可以进行反向翻译,即将WordML转换为reStructuredText。 你可以在这里试试Pandoc。

我从来没有用过任何库,但是你可以把任何docxxlsx文件的扩展名改为zip ,然后看看这个魔术!

生成openxml文件就像生成几个XML文件(可以使用模板)并将其压缩一样简单。

生成PDF最简单的方法是生成HTML(使用CSS +图像),并使用wkhtmltopdf工具进行转换。