zdavatz / spreadsheet

The Ruby Spreadsheet by ywesee GmbH
http://spreadsheet.ch
GNU General Public License v3.0
1.13k stars 240 forks source link

`undefined method `text' for nil:NilClass` when calling :rows to worksheet #221

Closed VitaliyAdamkov closed 6 years ago

VitaliyAdamkov commented 6 years ago
/home/.../spreadsheet-1.1.7/lib/spreadsheet/excel/reader.rb:132:in `block in postread_worksheet'
/home/.../spreadsheet-1.1.7/lib/spreadsheet/excel/reader.rb:127:in `each'
/home/.../spreadsheet-1.1.7/lib/spreadsheet/excel/reader.rb:127:in `postread_worksheet'
/home/.../spreadsheet-1.1.7/lib/spreadsheet/excel/reader.rb:863:in `read_worksheet'
/home/.../spreadsheet-1.1.7/lib/spreadsheet/excel/worksheet.rb:53:in `ensure_rows_read'
/home/.../spreadsheet-1.1.7/lib/spreadsheet/excel/worksheet.rb:46:in `each'
/home/.../spreadsheet-1.1.7/lib/spreadsheet/excel/worksheet.rb:71:in `to_a'
/home/.../spreadsheet-1.1.7/lib/spreadsheet/excel/worksheet.rb:71:in `rows'

"solved" for now with i.text = matching_obj.first&.text:

module Spreadsheet
  module Excel
    class Reader
      def postread_worksheet worksheet
         @noteList.each do |i|
            matching_obj = @noteObjList.select {|j| j.objID == i.objID}
            if matching_obj.length > 1
               puts "ERROR - more than one matching object ID!"
            end
            i.text = matching_obj.first&.text
            worksheet.add_note i.row, i.col, i.text
         end
      end
    end
  end
end
zdavatz commented 6 years ago

Interesting and thank you. Let me know when you have a patch for this.

VitaliyAdamkov commented 6 years ago

do you mean smth like this: https://github.com/zdavatz/spreadsheet/pull/222 ?

zdavatz commented 6 years ago

Thank you yes. But the tests also all need to pass. Can you please also make the tests pass.

zdavatz commented 6 years ago

Done with Release 881941b23dc035176ff52