我使用“电子表格”ruby gem生成xls文件。
我已经有一个xls文件“MyFile.xls”,其中包含许多工作表:sh_01,sh_02,sh_03 ...
我想读取最后一个工作表(sh_last_number)的名称,并在此文件(MyFile.xls)中添加一个名为“sh_last_number + 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)
希望这有帮助。
干杯, 肖恩