在Excel 2007中导入带换行符的CSV

我正在开发一个功能,将搜索结果导出到要在Excel中打开的CSV文件。其中一个字段是自由文本字段,它可能包含换行符、逗号、引号等。为了抵消这一点,我将该字段用双引号(“)括起来

但是,当我将数据导入Excel2007、设置适当的分隔符并将文本限定符设置为双引号时,换行符仍在换行符处创建新记录,我希望在单个单元格中看到整个文本字段

我还尝试用just CR(\r\n)替换CR/LF(\r\n),然后又用just LF(\n)替换,但没有成功

还有其他人遇到过这种行为吗?如果有,您是如何解决的

TIA,
-J

编辑:
这是我亲手写的一个快速文件,用来复制这个问题

ID、名称、描述
“12345”,“史密斯,乔”,“嘿。
我叫乔。”

当我将其导入Excel 2007时,我得到了一个标题行和两条记录。请注意,“Smith,Joe”中的逗号处理正确。只是换行导致了问题

Excel(至少在XP上的Office 2007中)的行为可能会有所不同,具体取决于是通过从“文件”->“打开”菜单打开CSV文件,还是通过在资源管理器中双击该文件来导入CSV文件

我有一个UTF-8编码的CSV文件,在某些单元格中包含换行符。如果我从Excel的“文件->打开”菜单打开此文件,“导入CSV”“向导弹出,文件无法正确导入:即使引用换行符,换行符也会开始新行。如果在资源管理器窗口中双击该文件打开该文件,则该文件将在没有向导干预的情况下正确打开

发表评论