前言:今天在处理数据的时候,在数据库中用到了\n换行符号,目的是在同表格内做到数据多行显示,比如

 字段名1  字段名2  字段名3
 1

数据一行

数据二行

数据三行 

例子是在sql查询后的结果 
 2 例子如上  数据未导出 

本来在sql查询后是如此显示的,但是后来导出文本格式,Excel自文本导入内容时就会报错,那么问题来了,

如何做到Excel自文本导入内容时如何做到单元格内换行?

正文:在网上找了很多例子,其中有位前辈讲的很有道理,原话如下:

excel实现自动换行的两个必要条件
1.将excel单元格的格式设置成自动换行。
2.在文字中间加上换行符 CHAR(10)

csv是普通的文本文件,无法满足第一个条件。所以自动换行的功能是无法实现的。

这位前辈这句话着实让我仔细思考了一下,再根据网上一些例子,果然让我找到了解决办法:

就是利用SQL字符串操作输出上面字段名2下的多行数据如下:

=”数据一行”,”数据二行”,”数据三行”

然后再利用Excel自文本导入内容后,excel文本文档中就会显示:

=”数据一行”,”数据二行”,”数据三行”

最后,利用替换功能将,替换成&CHAR(10)&,替换后变成=”数据一行”&CHAR(10)&”数据二行”&CHAR(10)&”数据三行”,在另一个单元格内输入=待换行的单元格,并将其设置为自动换行,然后这个单元格内的内容就是我们想要的内容。

添加于2015年11月14日:最好在sql直接输出=”数据一行”&CHAR(10)&”数据二行”&CHAR(10)&”数据三行”,然后设置单元格为自动换行即可

注意:“”为双引号,不是两个单引号‘’

 

待换行的单元格 理想的结果
数据一行数据二行数据三行 数据一行
数据二行
数据三行
 =”数据一行”&CHAR(10)&”数据二行”&CHAR(10)&”数据三行”  =待换行的单元格

结尾:可能没表达好,大家好好看上面的表格吧,应该好理解点!休息了,不早了。

本文最后编辑于:2015-11-14 23:33

 

版权声明:本文为CQ-LQJ原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/CQ-LQJ/archive/2015/11/10/4954477.html