Class: LoaderXls
Class Method Summary collapse
Methods inherited from FileIO
encodePath, filesystem, readPath
Class Method Details
.makeMatrix(file, opts = { }) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/loader_xls.rb', line 5 def self.makeMatrix(file, opts={ }) # xls読み込みメソッド if(opts) offset = opts[:offset] sheet = opts[:sheet] end offset ||= 0 sheet ||= 0 out = [] #todo xlsFileがなかったら作成 path = self.encodePath(file) xl = Spreadsheet.open(path, 'rb') sheet = xl.worksheet(sheet) rowsize = sheet.last_row_index (rowsize+1-offset).times do |i| row = sheet.row(i+offset) orow = [] row.each do |ele| #様々な型で値が入っている。改行も入っている if(ele.class == Float)&&(ele.to_s =~ /(\d+)\.0/) ele = $1 end if(ele.class == Spreadsheet::Formula) ele = ele.value end if(ele == nil) ele = '' end ele = ele.to_s.gsub(/\n/, '<br>') orow << ele end out << orow end return out end |