7

我想要一个好的原生 Python 库来编写 XLS,但它似乎不存在。令人高兴的是,Jython 做到了。

所以我试图在 jexcelapi 和 Apache HSSF 之间做出决定: http ://www.andykhan.com/jexcelapi/tutorial.html#writing http://poi.apache.org/hssf/quick-guide.html

(我不能使用 COM 自动化,因为我不在 Windows 上,即使我在,我也买不起 Office 许可证。)

我最初的想法是 POI/HSSF 非常彻底,但也非常 Java —— 一切似乎都比它需要的要难一些。很好的文档,但是试图弥合它所描述的内容和我需要完成的内容之间的差距让我头疼。

jexcepapi 似乎有一个更简单、更好(对我来说)的界面,但没有很好的文档或社区。

你会使用哪个,为什么?

4

5 回答 5

18

xlwt有什么问题?

于 2008-10-28T23:37:26.110 回答
3

+1 xlwt。有关如何使用 xlwt以及如何处理大型电子表格的帖子,请参见 Matt Harrison 的博客。另外,请查看 Google 上的python-excel组“如果您使用 Python 读取、写入或以其他方式操作 Excel 文件”。

于 2008-10-29T02:14:27.527 回答
1

我会使用 JExcelApi,但这只是因为我以前使用过它。从来没有接触过HSSF。我能回忆起的最大的障碍是 JExcelApi 不支持一个单元格中的多种格式(例如,一半的文本为粗体,另一半为斜体或类似的东西)。我认为总的来说 JExcelApi 比 HSSF 更受限制,但这些限制从未妨碍我。

是的,接口的文档很少(并且底层机制不存在),但我认为这是可行的......

于 2008-10-28T23:34:49.267 回答
1

如果您打算使用比非常简单的文本更多的东西来表现出色,我个人不建议使用 JExcel,反之亦然。

更高级的功能是从底层(基本上未记录的)低级代码/(记录的)Excel规范中抽象出来的。

我们遇到的另一个问题是 jexcel 在遇到无效公式时会严重失败。如果您需要解析客户提供的电子表格,这是一个问题。

新的 POI 版本(几乎)同时支持 xls 和 xlsx。

于 2009-07-21T12:26:55.657 回答
0

Excel 将 VBA 使用的相同 OLE 自动化 API 公开给任何支持 COM 的东西。您可以使用 win32com(默认情况下包含在 ActiveState Python 中)以与在 VBA 中相同的方式操作电子表格。

于 2008-10-28T23:33:20.813 回答