在导出到Excel时,我发现了以下问题。
如果你创建一个表格,其中一个单元格有一个换行符,你将文档保存为txt文件,它将如下所示:
"firstLine<LF>secondLine"<TAB>"secondColoumn"
当我在Excel中打开此文件时,换行符消失,第一行只有一个单元格,其值为 firstLine
你知道是否有可能保持换行符?
编辑:适用于Excel2010。不知道其他版本是否表现不同。
EDIT2:重现的步骤:
excel文件现在有两行是错误的。
答案 0 :(得分:5)
我终于能够解决问题了! yay:D
CSV:
德语Excel需要分号作为分隔符。逗号不起作用。
注意:仅当文件编码为UTF-8且文件开头有BOM时才会出现这种情况。如果是ASCII编码的逗号确实可以作为分隔符使用。
TXT:
编码必须是UTF-16LE。它也需要以制表符分隔。
重要:强> 如果使用“文件 - >打开”对话框打开它们并“导入”它们,文件仍将显示不正确。将它们拖放到Excel中或通过双击打开。
答案 1 :(得分:1)
这不是问题 - 在预期行为意义上 - 当您将文字保存为Unicode
或Text (tab delimited)
如果将文件另存为unicode,然后再将其保存为
您将看到包含换行符的单元格被“”
包围以下示例显示了两个换行符
A1
使用Alt + Enter B1
有一个使用公式CHAR(10)
的enry
该图片还显示了记事本在保存的Unicode
版本
建议的解决方法1-手动方法
替换为双管分隔符
这可以在VBA中轻松完成
建议的解决方法2 - VBA替代方案
Const strDelim = "||"
Sub LBtoPIPE()
ActiveSheet.UsedRange.Replace Chr(10), strDelim, xlPart
ActiveSheet.UsedRange.Replace "CHAR(10)", strDelim, xlPart
End Sub
Sub PIPEtoLB()
ActiveSheet.UsedRange.Replace strDelim, Chr(10), xlPart
ActiveSheet.UsedRange.Replace strDelim, "CHAR(10)", xlPart
End Sub