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

时间:2011-01-10 06:46:52

标签: ruby excel export-to-excel xlsx

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

是否有任何可写入Excelx的gem /插件?

9 个答案:

答案 0 :(得分:18)

对于编写/导出xlsx文件的任务,Axlsx是我发现的功能最齐全的库。但它不支持读取/导入xlsx文件。

https://github.com/randym/axlsx

以下是作者的描述:

  

xlsx生成图表,图像,自动列宽,   可自定义的样式和完整的架构验证。 Axlsx擅长于   帮助您生成漂亮的Office Open XML电子表格文档   无需了解整个ECMA规范。查看   README的一些例子说明它是多么容易。最重要的是,你可以   在序列化之前验证你的xlsx文件,所以你肯定知道   生成的任何内容都将加载到客户端的计算机上。

答案 1 :(得分:9)

答案 2 :(得分:7)

似乎RubyXL同时执行,读取和写入 https://github.com/gilt/rubyXL 虽然没有使用它..

答案 3 :(得分:2)

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

答案 4 :(得分:1)

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

但最终,我们需要更多地控制结果的外观,因此我们使用Excel自动化制作了基于.NET的解决方案。

答案 5 :(得分:1)

我发现使用带有excel的WIN32OLE取得了很大的成功。我总是发现自己回到了rubyonwindows.blogspot.com的例子。

答案 6 :(得分:1)

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

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

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

答案 7 :(得分:0)

检查这个gem,我对生成任何困难的格式/布局非常有用 gem'axlsx',github:'randym / axlsx',branch:'master' 并参考文档axlsx-documentation

的这些链接

答案 8 :(得分:0)

要导出(csv和xslx)而不包含任何gem,我们可以使用-

https://gorails.com/episodes/export-to-csv

此链接显示了如何在csv中导出,以下是我们如何获取xlsx的信息。

  1. 打开控制器
  2. 找到调用to_csv方法的方法,

    send_data @ models.to_csv,文件名:“ Contract-#{Date.today} .csv”

  3. 写为-

    send_data @ models.to_csv,文件名:“ Contract-#{Date.today} .xlsx”

对我有用!