首页 > 解决方案 > 如何将数据写入excel文件

问题描述

我有一个配置表如下:

S.NO    TableName   SourceColumns 
1          A         a,b,c,d 
2          B         p,q,r,s,t,u 
3          C         m,n,o,p,q 
4          D         x,y,z 

这里,结果对象由表中每条记录的 SourceColumns 组成。例如,这里它获取 1 个记录值。然后我将这些值写入 CSV(excel) 文件。这行得通。

CSV.open('C:\Actual\Test.csv', 'w') do |csv| 
   result.each do |eachrow| 
   csv << ["#{eachrow['a']}","#{eachrow['b']}","#{eachrow['c']}","#{eachrow['d']}"] 
  end
end

因为,我在上面的查询中硬编码了我的值,我根据我的 SourceColumns 构造字符串并传递给查询,如下所示:

myformattedstring="#{eachrow['a']}","#{eachrow['b']}","#{eachrow['c']}","#{eachrow['d']}" 

CSV.open('C:\Actual\Test.csv', 'w') do |csv| 
   result.each do |eachrow| 
   csv << [myformattedstring] 
   end 
end

现在,数据被视为字符串。如何,我可以将我的字符串传递给 CSV,以便我可以写入实际值

标签: ruby-on-railsruby

解决方案


如果您只想在包含 的 csv 中插入 1 列myformattedstring,则只需将双引号放在字符串的开头和结尾,并在这些引号内插入所有#{}引号,而不是重复引号


推荐阅读