新手问题 ruby roo gem 的使用

xiaoxiao · June 16, 2013 · Last by xiaoxiao replied at June 16, 2013 · 6611 hits

我有一张 xls 文件 我用 roo 来解析这张表 model 部分的代码如下: def self.import(file) spreadsheet = open_spreadsheet(file) header = spreadsheet.row(4) (5..spreadsheet.last_row).each do |i| row = Hash[[header, spreadsheet.row(i)].transpose] if find_by_id(row['编码']) boy=find_by_id(row['编码']) boy.name=row.to_hash['partRef'] boy.save end end end def self.open_spreadsheet(file) case File.extname(file.original_filename) when '.csv' then Roo::Csv.new(file.path, nil, :ignore) when '.xls' then Roo::Excel.new(file.path, nil, :ignore) when '.xlsx' then Roo::Excelx.new(file.path, nil, :ignore) else raise "Unknown file type: #{file.original_filename}" end end 这样会出错。如果把 find_by_id(row['编码']) 改成 find_by_id(row['itemNo']) 的话,同时把 xls 文件的编码改成 itemNo 的话就可以正常解析,但如何解析带汉字的列呢。求助。。。

头部加上#encoding: utf-8 或者 ruby 2.0 直接支持 utf-8 的

这样加了还是没有,主要是我的编辑器的问题,不是以 utf-8 的编码格式保存的,故读取不了,

You need to Sign in before reply, if you don't have an account, please Sign up first.