Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails中的Roo Gem_Ruby On Rails - Fatal编程技术网

Ruby on rails Rails中的Roo Gem

Ruby on rails Rails中的Roo Gem,ruby-on-rails,Ruby On Rails,我正在使用Roo Gem读取excel文件,但面临一个挑战。我正在将所有浮点和整数转换为字符串,但它没有给我想要的值。 下面是我的实现 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(&

我正在使用
Roo Gem
读取excel文件,但面临一个挑战。我正在将所有浮点和整数转换为字符串,但它没有给我想要的值。 下面是我的实现

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

如果excel文件中的浮点值是
3200.00
,我希望它是
'3200.00'
字符串。我怎样才能做到这一点。

你必须使用地图!而不是地图

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

为什么需要浮点值作为字符串?表列是string还是float数据类型?@NatarajaB是的,无论列数据类型如何,我都需要它作为字符串。我用它来比较不同来源的数组。