Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.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
在Excel中使用Ruby CSV返回方形字符生成的列中包含回车符的CSV文件_Ruby_Excel_Csv_Fastercsv - Fatal编程技术网

在Excel中使用Ruby CSV返回方形字符生成的列中包含回车符的CSV文件

在Excel中使用Ruby CSV返回方形字符生成的列中包含回车符的CSV文件,ruby,excel,csv,fastercsv,Ruby,Excel,Csv,Fastercsv,我有一个脚本,可以生成CSV文件并通过电子邮件发送给Windows上的许多用户。其中一列中有换行符,当我打开生成的文件时,在换行符之前会出现方形框。下面是我试图做的代码示例: CSV.open("/tmp/reports.csv", "w") do |csv| csv << ["Date", "Description", "Comments", "Status"] csv << ["Foo","Bar","This\r\n is \r\n where \r\n m

我有一个脚本,可以生成CSV文件并通过电子邮件发送给Windows上的许多用户。其中一列中有换行符,当我打开生成的文件时,在换行符之前会出现方形框。下面是我试图做的代码示例:

CSV.open("/tmp/reports.csv", "w") do |csv|
  csv << ["Date", "Description", "Comments", "Status"]
  csv << ["Foo","Bar","This\r\n is \r\n where \r\n my \r\n linebreaks \r\n are,"Baz"]
end
我尝试过很多我能想到的换行符和编码组合,但没有乐趣。我怀疑这与相关,但解决方案涉及在导入后做一些事情,我不想让我的用户感到不安,特别是因为我在这里不是与技术用户打交道


有什么想法吗?

请尝试下载以下内容:

csv << ["Foo","Bar","square \r\n here","Baz"].map{|col| col.gsub(/\r/, '')}

实际上,它在桌面PC上似乎确实适用于Excel,但在我通过Citrix运行Excel时却不适用。将其标记为可接受,因为这是逻辑上可行的答案。它不会是可移植的,因为换行符在不同的平台上是不同的。不过\n无论您当时在什么平台上,这都是一条新线。