在Excel 2007中导入带换行的CSV

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (17)

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

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

我还试着用CR(\r)代替CR/LF(\r),再用LF(\n)代替,但没有任何进展。

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

提问于
用户回答回答于

我终于找到问题了!

原来我们是用Unicode编码而不是ASCII或UTF-8编写文件的。更改FileStream上的编码似乎解决了这个问题。

谢谢大家的建议!

用户回答回答于

Excel(至少在XP上的Office 2007中)可以通过打开文件->打开菜单或在资源管理器中双击文件来导入CSV文件。

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

扫码关注云+社区