首页 > 解决方案 > 电子表格 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

标签: rubyexcelspreadsheet

解决方案


更新:

愚蠢的错误,你没有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


推荐阅读