context.Response.Clear();
context.Response.ContentType = "text/csv";
context.Response.ContentEncoding = System.Text.Encoding.UTF8;
context.Response.AppendHeader("Content-Disposition", "attachment; filename=" + name + ".csv");
context.Response.Write(csvfile.ToString());
context.Response.End();
我手动用Excel打开文件时,它显示正常。但因为Excel 2003不支持该文件格式,我必须导入它。在导入过程中,它将字段中的换行符(\n)视为新行。
很遗憾,我无法提供我正在处理的真实数据示例(这是所有个人数据),但我可以给你一个出错的示例:
Header1,Header2,Header3
"value1","value2","value 3
and this is where its going wrong"
这是一个简单的CSV文件,导入后你会看到出错的地方。我默认使用双引号来封装字段。我也默认删除值中的前导空格。
我已经花费至少两天时间解决这个看似简单的问题,但我真的搞不清楚该如何解决。我看到了多个关于相同问题的主题,但那里提供的解决方案似乎都不能解决这个问题。