2

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

4

3 回答 3

1

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

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

测试线 1 以 alt-0010 终止

测试线2

在第二个中,以 " 开始行并以 " 结束。对于第一行,在“:”之前插入一个 Alt-0010

“测试行 1 在报价前以 alt-0010 终止”

“测试线 2”

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

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

于 2010-01-13T18:13:27.713 回答
0

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

于 2010-01-13T15:59:55.067 回答
0

谢谢您的帮助!我尝试以 \" 开始文本并以 \" 结束,但是当我使用 excel 时,我将每一行放在一个单独的单元格中,我希望的计划是将所有文本放在一个单独的 excel 单元格中。

于 2010-01-18T06:38:36.070 回答