你的位置:首页 > 数据库

[数据库]Excel自文本导入内容时如何做到单元格内换行

前言:今天在处理数据的时候,在数据库中用到了\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)&"数据三行",在另一个单元格内输入=待换行的单元格,并将其设置为自动换行,然后这个单元格内的内容就是我们想要的内容。

 

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

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