从经验来看,没有 Ruby gem 可以处理所有花里胡哨、宏和样式的 Excel 文件。很遗憾,因为 Excel 是微软最好的产品。根据我的经验,spreadsheet
库可以从 Excel、LibreOffice Calc 等导入旧数据(我不确定 Gnumeric)。
至于您从 Ruby 获取数据到 Excel 的问题,我建议您先将 Ruby 输出另存为单独的文件(电子表格、CSV、文本...),然后教 Excel 导入它(例如使用宏)。
另一种可能性是放弃 Excel 用于数据处理任务(并可能保留它用于数据呈现任务)。Excel 非常适合演示和简单的数据处理,但对于复杂的算法非常不利。
我写了 gemsyzz
和y_nelson
,我打算用 Ruby 代替电子表格。Yzz 在 Ruby 中提供了 Ted Nelson 的 ZZ 结构(ZZ 结构是电子表格数据结构的改进版本)并将y_nelson
其与 Petri 网混合(因为 Petri 网是 Excel 单元函数的改进版本)。从数学上讲,电子表格是某种多维正交数据单元格加上 Petri 网执行引擎的混合体。有了y_nelson
,我希望将非常错过的 Excel 功能带入 Ruby,同时朝着更好的抽象迈出一步。