Rails打开xls(excel)文件
我有一个文件从Excel中b.xls
我需要将其导入到我的Rails应用程序
我试图打开它
file = File.read(Rails.root.to_s+'/b.xls')
我有这个
file.encoding => #Encoding:UTF-8
我有几个问题:
- 如何打开没有这个符号(普通语言)?
-
如何将这个文件转换为散列?
文件相当大约5千行
你必须有所有行的数组,然后你可以把它转换成一些散列,如果你喜欢的话。
我会build议使用batch_factory
gem 。
gem非常简单,依靠引擎盖下的gem。
这里是代码示例
require 'batch_factory' factory = BatchFactory.from_file( Rails.root.join('b.xlsx'), keys: [:column1, :column2, ..., :what_ever_column_name] )
那你可以做
factory.each do |row| puts row[:column1] end
您也可以省略指定keys
。 然后batch_factory
会自动从第一行中获取头文件。 但你的钥匙将是俄罗斯。 喜欢
factory.each do |row| puts row['Товар'] end
如果你想散列产品名称作为你可以做的关键
factory.inject({}) do |hash, row| hash.merge(row['Товар'] => row) end