在Excel 2007中导入带有换行的CSV文件

25 浏览
0 Comments

在Excel 2007中导入带有换行的CSV文件

我正在开发一个功能,可以将搜索结果导出到CSV文件中,在Excel中打开。其中一个字段是自由文本字段,可能包含换行符、逗号、引号等。为了解决这个问题,我将该字段用双引号(\")括起来。

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

我还尝试使用CR/LF(\\r\\n)替换为CR(\\r),然后再用LF(\\n),但都没有成功。

有人遇到过这种问题吗?如果有,你是如何解决的?

TIA,

-J

编辑:

这是我手写的一个快速文件,以重现问题。

ID,名称,描述

\"12345\",“史密斯,乔”,“嘿。

我的名字是乔。”

当我将其导入Excel 2007时,我最终得到一个标题行和两个记录。请注意,“史密斯,乔”中的逗号被正确处理。只有换行符会导致问题。

admin 更改状态以发布 2023年5月23日
0
0 Comments

对我来说,建议的解决方案都没用。

实际可行的方法(适用于任何编码方式):

从csv文件(在文本编辑器中打开)中复制并粘贴数据,然后执行“文本到列” -> 数据会被错误转换。

下一步是转到最近的空列或空工作表并再次复制/粘贴(与你已经在剪贴板中拥有的相同) -> 现在自动正常工作了。

0
0 Comments

Excel(至少在XP上的Office 2007中)的表现取决于CSV文件是通过文件 -> 打开菜单导入还是通过在资源管理器中双击文件导入。

我有一个UTF-8编码的包含一些单元格中的换行符的CSV文件。如果我从Excel的文件->打开菜单中打开该文件,则会弹出“导入CSV”向导,并且无法正确导入该文件:即使在引用时换行符也会开始新行。如果我在资源管理器中双击它,那么它会正确打开,而无需向导的干涉。

0