相关疑难解决方法(0)

为Excel生成CSV文件,如何在值中包含换行符

我需要为Excel生成一个文件,该文件中的一些值包含多行.

那里还有非英文文本,所以文件必须是Unicode.

我现在生成的文件如下所示:(在UTF8中,非英文文本混合在一起并且有很多行)

Header1,Header2,Header3
Value1,Value2,"Value3 Line1
Value3 Line2"
Run Code Online (Sandbox Code Playgroud)

请注意,多行值用双引号括起来,其中包含正常的日常换行符.

根据我在网上发现的这应该有效,但它没有,至少没有赢得Excel 2007和UTF8文件,Excel将第3行视为第二行数据而不是第一行数据的第二行.

这必须在我客户的机器上运行,我无法控制他们的Excel版本,所以我需要一个适用于Excel 2000及更高版本的解决方案.

谢谢

编辑:我通过两个CSV选项"解决"了我的问题,一个用于Excel(Unicode,制表符分隔,字段中没有换行符),另一个用于世界其他地方(UTF8,标准CSV).

不是我想要的,但至少它是有效的(到目前为止)

csv excel newline

146
推荐指数
6
解决办法
32万
查看次数

在Excel 2007中使用换行符导入CSV

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

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

我也尝试用CR(\ r)替换CR/LF(\ r \n),再用LF(\n)替换,但没有运气.

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

TIA,
-J

编辑:
这是我用手写的复制问题的快速文件.

ID,名称,描述
"12345","史密斯,乔","嘿.
我的名字是乔."

当我将其导入Excel 2007时,我最终得到一个标题行和两个记录.请注意,"Smith,Joe"中的逗号正在正确处理.这只是造成问题的换行符.

csv excel newline excel-2007

110
推荐指数
8
解决办法
16万
查看次数

将包含换行符的文本文件导入excel

我有一个纯文本文件,如下所示:

"some  
 text  
 containing  
 line  
 breaks"
Run Code Online (Sandbox Code Playgroud)

我正试图excel 2004 (Mac, v.11.5)正确地打开这个文件.我希望看到只有一个包含上述所有内容的单元格(A1)(没有引号)......

但唉,我无法实现,因为Excel似乎坚持使用CR作为行分隔符,即使我将文本限定符设置为双引号.我有点希望Excel能理解这些换行符是值的一部分 - 它们嵌入双引号中,这应该将它们限定为值的一部分.所以我的Excel工作表有5行,这不是我想要的.

我也试过这个Applescript无济于事:

tell application "Microsoft Excel"
    activate
    open text file filename ¬
    "Users:maximiliantyrtania:Desktop:linebreaks" data type delimited ¬
    text qualifier text qualifier double quote ¬
    field info {{1, text format}} ¬
    origin Macintosh with tab
end tell
Run Code Online (Sandbox Code Playgroud)

如果我可以告诉Excel使用除CR(或LF)以外的行分隔符,那么,我将是一个快乐的露营者,但excel似乎只允许更改字段分隔符,而不是行分隔符.

有什么指针吗?

谢谢,

Max Excel是开放的

excel vba

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

excel ×3

csv ×2

newline ×2

excel-2007 ×1

vba ×1