哪个gem支持在ruby中导入/导出到xlsx文件

我需要用ruby代码读取和写入Excelx文件,试图用电子表格它不支持xlsx格式,Roo也读取文件,而不是写入xlsx。

有什么gem/插件将写入Excelx?

为了编写/导出xlsx文件,Axlsx是我find的function最齐全的库。 不过,它不支持读取/导入xlsx文件。

https://github.com/randym/axlsx

以下是作者的描述:

带有图表,图像,自动化列宽,自定义样式和完整模式validation的xlsx一代。 Axlsx擅长帮助您生成漂亮的Office Open XML电子表格文档,而无需了解整个ECMA规范。 查阅自述文件,了解它是多么容易的一些例子。 最重要的是,您可以在序列化之前validation您的xlsx文件,以确保生成的任何内容都将加载到客户机器上。

似乎RubyXL都这样做,读取和写入https://github.com/gilt/rubyXL还没有使用它,但..

XLSX文件本质上是一个压缩的XML文件集合。 如果您没有find合适的gem,可以尝试使用Ruby手动生成它们,可能使用从Excel中保存的空模板。 我们曾经这样做,工作得很好,不幸的是,代码不是开源的。

但最终,我们需要更多的控制结果的外观,所以我们用Excel自动化来制作基于.NET的解决scheme。

使用WIN32OLE和excel我发现了很多的成功。 我总是发现自己回到rubyonwindows.blogspot.com作为例子。

Roo( https://github.com/roo-rb/roo )添加到上面的gem列表中,是一个stream行的ruby gem,用于pipe理和使用excel和xlsx文件。

我发现现有的所有ruby excel库的接口都非常类似于ruby,在读取文件时确定单元格types时尤其不准确。

所以,如果你正在寻找(IMO)更简单的东西,我已经成功地使用了simple_xlsx_reader和simple_xlsx_writer的组合。

我是simple_xlsx_reader的作者,截至撰写本文的时候,我没有在simple_xlsx_reader中进行testing,断言所有使用case来读取由simple_xlsx_writer生成的文件,所以我不能说完全支持它,但我可以说我已经部署了一个生产应用程序,可以将两个库连续地用于各种集成testing,而不会出现问题。

检查这个gem,我是非常有用的产生任何困难的格式/布局gem'axlsx',github:'randym / axlsx',分支:'主',并参考这些链接的文档axlsx – 文档