我应该使用哪个库从 Linux / Python 编写 XLS?

发布于 2024-07-07 07:15:49 字数 637 浏览 9 评论 0原文

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

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

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

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

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

您会使用哪一个,为什么?

I'd love a good native Python library to write XLS, but it doesn't seem to exist. Happily, Jython does.

So I'm trying to decide between jexcelapi and Apache HSSF:
http://www.andykhan.com/jexcelapi/tutorial.html#writing
http://poi.apache.org/hssf/quick-guide.html

(I can't use COM automation because I'm not on Windows, and even if I was, I couldn't afford Office licenses.)

My initial thoughts are that POI/HSSF is very thorough, but also very Java-- everything seems a bit harder than it needs to be. Good documentation, but my head hurts trying to bridge the gap between what it describes and what I need to accomplish.

jexcepapi seems to have a simpler, nicer (for me) interface, but doesn't have very good documentation or community.

Which would you use, and why?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

旧瑾黎汐 2024-07-14 07:15:50

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

+1 for xlwt. See Matt Harrison's blog for posts on how to use xlwt and how to deal with large spreadsheets. Also, check out the python-excel group on Google "If you use Python to read, write or otherwise manipulate Excel files".

只想待在家 2024-07-14 07:15:50

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

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

I'd use JExcelApi, but only because I've used it before. Never have touched HSSF. Biggest show-stopper I can recall is JExcelApi doesn't support multiple formats in one cell (e.g. half the text in bold, the other half in italic or something like that). I think in general JExcelApi is more limited than HSSF, but the limitations never got in my way.

And yes, documentation is sparse for the interface (and nonexistent for the underlying mechanisms), but I thought it was doable...

通知家属抬走 2024-07-14 07:15:50

如果您打算使用非常简单的文本以外的任何内容来执行 Excel,我个人不建议使用 JExcel,反之亦然。

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

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

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

i personally dis-advise JExcel if you intent to use anything more then very simple text to excel and vice versa.

the more advanced features are abstracted very leaky from the underlying (basically undocumented) low-level code / (documented) Excel specs.

another problem we ran into is jexcel fails fatally when encountering invalid formulas.
and if you need to parse client supplied spreadsheets this is a problem.

also the new POI version support (almost) seemless both xls and xlsx at the same time.

似最初 2024-07-14 07:15:50

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

Excel exposes the same OLE automation API used by VBA to anything that supports COM. You can use win32com (which is included with ActiveState Python by default) to manipulate spreadsheets in much the same way that you would do in VBA.

素食主义者 2024-07-14 07:15:49

xlwt 有什么问题吗?

What's wrong with xlwt?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文