在下面的代碼,happy_path
作品,但不是sad_path
:替代add_row爲axlsx
require "axlsx"
def happy_path
package = Axlsx::Package.new
workbook = package.workbook
worksheet = workbook.add_worksheet
worksheet.add_row(["Hot", "Summer", "Night"])
cell = worksheet.name_to_cell("A1")
cell.value = "Cold"
package.serialize("Happy_path_20130104.xlsx")
end
def sad_path
package = Axlsx::Package.new
workbook = package.workbook
worksheet = workbook.add_worksheet
worksheet.add_row(["Hot", "Summer", "Night"])
cell = worksheet.name_to_cell("E1")
begin
cell.value = "Meatloaf"
rescue NoMethodError
STDERR.puts $!
end
package.serialize("Sad_path_20130104.xlsx")
end
happy_path
sad_path
sad_path
給出了錯誤
undefined method `value=' for nil:NilClass
因爲cell
爲零。文檔的
http://rubydoc.info/github/randym/axlsx/Axlsx/Cell等部位警告:
注:生成細胞推薦的方法是通過表#add_row
的問題是,我希望能夠添加數據到A1,B1和C1,然後在E1,F1和G1上添加數據。
有沒有辦法做到這一點?還是應該存儲A1,B1,C1和E1,F1和G1的數據,並將其一次性添加到工作表中?
只需爲最大列添加空白值,你會得到什麼? 'add_row([「Hot」,「Summer」,「Night」,「」,「」,「」,「」])'。 – oldergod