将txt文件导入excel会使换行符消失

时间:2010-01-12 19:31:53

标签: excel import text-files line-breaks

我正在尝试将文本文件导入excel(2007)。该文件是从C#文本框导出的,它包含换行符。虽然当我导入它时(使用excel附带的文本导入向导),换行符完全消失。我宁愿不必编写VBA文件并放在excel文件中运行,而是在将文本框数据转换为txt文件之前,使用C#中的一个简洁方法进行更改。这有可能吗?

3 个答案:

答案 0 :(得分:1)

我想出来了。如果在文本周围加上引号,任何嵌入的换行符(ASCII 010)都将作为嵌入换行符导入Excel。换句话说,这些换行符不会导致文本在Excel行中分割。

试试吧。在Notepad.exe中创建两个文件。在第一行中按Alt-0010终止第一行:

测试第1行以alt-0010

结尾

测试第2行

在第二个中,以“并以...结尾”开始行。对于第一行,在“:

之前插入Alt-0010

“测试行1在引用之前以alt-0010终止”

“测试第2行”

现在将两者导入Excel并查看差异。

有关详细信息,请参阅IETF RFC 4180

答案 1 :(得分:0)

在excel中,单元格内的换行符被编码为ascii代码10(即\ n)(通过方便地使用宏录制器和检查生成的VBA来确定)。我认为新行的“消失”可能是因为你是C#emit \ n \ r,所以你可能会尝试在输出它之前用C#代码中的“\ n”全局替换“\ n”。

答案 2 :(得分:0)

感谢您的帮助!我尝试用\“开始文本并用\来完成”但是当我去excel时,我将每一行放在一个单独的单元格中,我有希望的计划是将所有文本放在一个excel单元格中。