0

我们有一个带有 django 的 python 项目。我们需要生成复杂的word、excel和pdf文件。

对于我们用 PHP 完成的其余项目,我们使用PHPexcel PHPWord 和 tcpdf 来处理 PDF。

您会推荐哪些 Python 库来创建此类文件?(对于 excel 和 word 来说,使用开放的 xml 文件格式 xlsx , docx 很重要)

4

5 回答 5

2

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 服务包装起来,并requests在 python 端使用它来与服务对话。

于 2012-06-01T11:33:26.190 回答
1

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

于 2012-06-01T11:38:11.520 回答
1

我会推荐使用Docutils。它采用 reStructuredText 文件并将它们转换为一系列输出文件。包中包含 HTML、LaTeX 和 .odf 文件编写器,但在沙箱中还有大量其他编写器用于写入其他格式,例如,参见WordML编写器(免责声明:我没有使用它)

此解决方案的优点是您可以编写人类可读的纯文本 (reStructuredText) 主文件,然后根据需要转换为一系列其他文件格式。

虽然不是 Python 解决方案,但您还应该查看Pandoc一个 Haskell 库,它支持比 docutils广泛的输出和输入格式。Pandoc 相对于 Docutils 的一个主要优势是您可以进行反向翻译,即 WordML 到 reStructuredText。你可以在这里试试 Pandoc 。

于 2012-06-01T12:01:27.207 回答
0

Simplest way to generate PDF is to generate HTML (with CSS+images) and convert it using wkhtmltopdf tool.

于 2012-06-01T11:26:23.917 回答
0

我从来没有为此使用过任何库,但是您可以将 any docx, xlsxfile 的扩展名更改为zip,然后看看魔术!

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

于 2012-06-01T11:24:46.930 回答