【问题标题】:Which library should I use to write an XLS from Linux / Python?我应该使用哪个库从 Linux/Python 编写 XLS?
【发布时间】:2010-09-19 16:50:55
【问题描述】:

我希望有一个好的原生 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 似乎有一个更简单、更好(对我而言)的界面,但没有很好的文档或社区。​​p>

你会使用哪个,为什么?

【问题讨论】:

    标签: java python xls jexcelapi hssf


    【解决方案1】:

    xlwt 有什么问题?

    【讨论】:

    • 我也会问同样的问题,建议 Jeremy 看看;我在实际项目中使用过 pyexcelerator(其中 xlwt 是一个改进的 fork)并且对它非常满意。
    • 这让我停了下来:sourceforge.net/mailarchive/…我看到了各种关于错误的博客文章。我真的不想遇到一个需要我大量学习二进制格式的错误——这似乎是一个很深的领域。不过同意,xlwt 似乎赢了。
    • @Jeremy Dunck:它并不“深”,而是一堆微软的废话。这简直是​​一件可怕的事情。构建 XML 工作簿文档几乎比构建二进制文件要好。
    • 我也用过pyexcelerator,效果很好。有人知道 xlwt 是否允许在工作簿中对工作表进行排序?
    • 也许这是一个单独的问题:“如何对 xlwt 工作簿中的页面进行排序?”
    【解决方案2】:

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

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

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

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

    【讨论】:

      【解决方案3】:

      +1 表示 xlwt。有关 how to use xlwthow to deal with large spreadsheets 的帖子,请参见 Matt Harrison 的博客。另外,请查看 Google 上的 python-excel 组“如果您使用 Python 来读取、写入或以其他方式操作 Excel 文件”。

      【讨论】:

        【解决方案4】:

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

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

        【讨论】:

          【解决方案5】:

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

          【讨论】:

          猜你喜欢
          • 2011-02-23
          • 2010-12-10
          • 1970-01-01
          • 1970-01-01
          • 2011-01-08
          • 1970-01-01
          • 2010-09-09
          • 2010-12-27
          • 2021-03-28
          相关资源
          最近更新 更多