2017-11-21 7 views
0

私はRoo Gemを使っていますが、Excelファイルを読むのは難しいですが、挑戦に直面しています。私はすべての浮動小数点数と整数を文字列に変換していますが、それは私に必要な値を与えません。 以下はエクセルファイルでのフロートが3200.00であれば、私は文字列として'3200.00'としてそれをしたい私の実装Roo Gem in Rail

file = 'path/to/file.xlsx'  
xlsx = Roo::Spreadsheet.open(file) 

header = xlsx.sheet(0).row(1) 

(2..xlsx.sheet(0).last_row).each do |i| 
    row = Hash[[header, xlsx.row(i).map(&:to_s)].transpose] 
end 

です。どうすればこれを実現できますか?

+0

なぜ文字列として浮動小数点値が必要ですか?テーブルの列が文字列型か浮動小数点型か –

+0

@ NatarajaBはい、私は列のデータ型に関係なく文字列として必要です。私は別のソースからの配列を比較するためにそれを使用しています。 –

答えて

1

マップを使用する必要があります!マップの代わりに

file = 'path/to/file.xlsx'  
xlsx = Roo::Spreadsheet.open(file) 

header = xlsx.sheet(0).row(1) 

(2..xlsx.sheet(0).last_row).each do |i| 
    row = Hash[[header, xlsx.row(i).map!(&:to_s)].transpose] 
end