Как я уже писал в своем комментарии, я не знаю, действительно ли это то, что вы ищете:
require 'rubyXL'
workbook = RubyXL::Parser.parse("Workbook1.xlsx")
worksheet = workbook[0]
rows = worksheet.map {|row| row && row.cells.each { |cell| cell && cell.value != nil}}
p last_row = rows.size
p last_column = rows.compact.max_by{|row| row.size}.size