我正在使用“电子表格”ruby gem 来生成 xls 文件。
我已经有一个 xls 文件“MyFile.xls”,其中包含许多工作表:sh_01、sh_02、sh_03 ... 我想读取最后一张工作表的名称(sh_last_number)并向该文件添加一个名为“sh_last_number+1”的新工作表( MyFile.xls) 并在其上写入一些数据。
换句话说,我必须同时打开它(读取数据)并在上面写入。
如果电子表格无法实现这个想法,他们的另一个宝石是否更有效?
提前致谢。
我正在使用“电子表格”ruby gem 来生成 xls 文件。
我已经有一个 xls 文件“MyFile.xls”,其中包含许多工作表:sh_01、sh_02、sh_03 ... 我想读取最后一张工作表的名称(sh_last_number)并向该文件添加一个名为“sh_last_number+1”的新工作表( MyFile.xls) 并在其上写入一些数据。
换句话说,我必须同时打开它(读取数据)并在上面写入。
如果电子表格无法实现这个想法,他们的另一个宝石是否更有效?
提前致谢。
您绝对可以使用电子表格 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)
希望这可以帮助。
干杯,肖恩