新手问题 ruby roo gem 的使用

xiaoxiao · 2013年06月16日 · 最后由 xiaoxiao 回复于 2013年06月16日 · 6644 次阅读

我有一张 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 的编码格式保存的,故读取不了,

需要 登录 后方可回复, 如果你还没有账号请 注册新账号