为什么我的CSV文件中的多行单元格在Excel的每一行末尾都显示一个问号?

Chr*_*lli 2 csv excel newline

我目前正在开展一个项目,我们希望允许用户将其数据导出为CSV.我们提供的一些数据对于单个单元格具有多个值,因此我们使用标准CSV方法将每个值放在其自己的行上:

Column A, Column B, Column C
Value A, "Value B1
Value B2", Value C
Run Code Online (Sandbox Code Playgroud)

大部分时间这种方法都可以正常工作,但有些人报告说,当他们在Excel中加载文件时,在每行末尾会出现一个小字号.为什么会这样?

Chr*_*lli 6

虽然RFC for CSV(http://www.rfc-editor.org/rfc/rfc4180.txt)似乎暗示换行符应写为\ r \n(CRLF),但这不是Excel输出的格式并且尝试加载具有此格式的文件似乎有时会导致出现[CR]字符显示为未知字符的问题.

Excel使用的CSV格式在使用单个LF字符表示的单元格中具有换行符,并且使用CRLF表示行之间的换行符.所以上面的例子应该格式化:

A栏,B栏,C栏[CR] [LF]值A,"值B1 [LF]值B2",值C [CR] [LF]