2017-11-21 2 views
0

Ich verwende Roo Gem, um Excel-Dateien zu lesen, aber vor einer Herausforderung. Ich konvertiere alle Float und Integer in String, aber es gibt mir nicht die Werte, die ich will. Unten ist meine ImplementierungRoo Gem in Schienen

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 

Wenn der Schwimmer in der Excel-Datei 3200.00 ist, ich es als '3200.00' als String wollen. Wie kann ich das erreichen?

+0

Warum brauchen Sie Float-Wert als String? Ob die Tabellenspalte String oder Float ist? –

+0

@NatarajaB Ja, ich brauche es als String unabhängig vom Datentyp der Spalte. Ich verwende es, um ein Array aus einer anderen Quelle zu vergleichen. –

Antwort

1

müssen Sie Karte verwenden! anstelle der Karte

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 
Verwandte Themen