当我在Ruby中生成csv文件时,Ruby CSV库会根据其数千个逗号分隔出数字。例如,5.00美元的数字留在他们自己的单元格中,而像257,000,415.81这样的数字将用双引号括起来,并将数千个逗号分成下一个单元格。例如(“$ 257 | 000 | 415.81”)。只要不是第一个值,csv就会正确解析数字。如何让csv库正确格式化同一单元格中的数字?我用来打开csv文件的程序是Microsoft Excel。
以下是文本在Excel中的显示方式的屏幕截图。
http://i.stack.imgur.com/8EMs0.png
以下是我希望文本看起来的屏幕截图。
http://i.stack.imgur.com/opjrR.png
以下是csv的代码。
<%= CSV.generate_line(["Balance"]).strip %>
<% @accounts.each do |acct| %>
<% row = [
(number_to_currency acct.balance, :unit => "$")
] %>
<%= CSV.generate_line(row).strip.html_safe %>
<% end %>
答案 0 :(得分:0)
这应该可以正确创建CSV文件:
CSV.open('filename.csv', 'w') do |csv|
@accounts.each do |acct|
csv << [ number_to_currency(acct.balance, unit: '$') ]
end
end