ruby - 电子表格 gem 错误访问 Excel 文件的多个工作表
问题描述
我试图一次访问多张excel文件并面临问题,下面是代码
sheetname1 ="sheet1"
sheetname1 ="sheet2"
book = Spreadsheet.open(file_name)
sheet1 = book.worksheets.find { |sheet| sheet.name == sheetname1 }
sheet2 = book.worksheets.find { |sheet| sheet.name == sheetname2 }
5.upto(sheet2.rows.count) do |findrownum|
0.upto(sheet2.column_count) do |findcolnum|
end
end
我得到的错误是,不知道为什么它无法读取 sheet2
NoMethodError: undefined method `rows' for nil:NilClass
解决方案
更新:
愚蠢的错误,你没有sheetname2
变量,检查你的代码:
sheetname1 ="sheet1"
sheetname1 ="sheet2" # should be sheetname2
NoMethodError:nil:NilClass 的未定义方法“行”
正确阅读错误,你的sheet2
似乎nil
index
您可以使用或访问工作簿的工作表name
例如:
sheet1 = book.worksheets sheetname1
sheet2 = book.worksheets sheetname2
# to avoid above error, you can add if condition to check
if sheet2
5.upto(sheet2.rows.count) do |findrownum|
0.upto(sheet2.column_count) do |findcolnum|
end
end
end
欲了解更多信息: https ://github.com/zdavatz/spreadsheet/blob/master/GUIDE.md#reading-is-easy