我有一张 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 的话就可以正常解析,但如何解析带汉字的列呢。求助。。。