Roo Gem检查空的工作表
我正在使用roo gem来parsingExcel(xlsx)文件。 但是,文件(工作簿)中总是有一些空白表单。 有没有办法看看表单是空的还是nil
?
更新
wb = Roo::Excelx.new 'chapter_data.xlsx' wb.sheets.each do |sheet| wb.default_sheet = sheet unless wb.nil? code..... end end
wb.nil?
不起作用,它返回false。
更新我已经能够处理这个问题的唯一方法是解救no方法错误。 我不喜欢这样处理,寻找更好的方法来检查表单是否为空。
begin header_row = wb.row(1) rescue NoMethodError => err # do nothing, this sheet is empty can't find a way to check if it is empty pos end
找出检查工作表是否为空的最佳方法。
wb = Roo::Excelx.new 'chapter_data.xlsx' wb.sheets.each do |sheet| wb.default_sheet = sheet if wb.first_row code..... end end
wb.first_row
返回第一个非空行的索引。
唯一的办法,我可以弄清楚如何检查这一点,而不使用rescue
是做到以下几点
unless wb.to_s == 'nil' code...... end
愚蠢的,我不能做一个正常的nil
检查。 但是这个工作。