读取xls文件并重新导出而不丢失初始数据

时间:2013-05-02 16:00:00

标签: ruby ruby-on-rails-3 spreadsheet export-to-excel

我使用“电子表格”ruby gem生成xls文件。

我已经有一个xls文件“MyFile.xls”,其中包含许多工作表:sh_01,sh_02,sh_03 ... 我想读取最后一个工作表(sh_last_number)的名称,并在此文件(MyFile.xls)中添加一个名为“sh_last_number + 1”的新工作表,并在其上写入一些数据。
换句话说,我必须打开它(读取数据)并同时写在上面。

如果用电子表格无法实现这个想法,他们的另一个宝石是否更有效率?

提前谢谢。

1 个答案:

答案 0 :(得分:0)

你绝对可以使用电子表格gem来做到这一点。由于您使用的是excel文件,因此如果您使用的是旧版本,则可能需要使用gem的excel组件:

require 'spreadsheet' # You may need to require 'spreadsheet/excel'

然后使用和编写页面很简单。要打开工作簿(包含多个页面的xls文件),请执行以下操作:

@workbook = Spreadsheet.open("MyFile.xls")

然后在您打开的工作簿中添加工作表,只需:

new_sheet = "sh_#{@workbook.worksheets.size + 1}"
@worksheet = @workbook.create_worksheet(:name => new_sheet)

希望这有帮助。

干杯, 肖恩