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)&”数据三行”,在另一个单元格内输入=待换行的单元格,并将其设置为自动换行,然后这个单元格内的内容就是我们想要的内容。
添加于2015年11月14日:最好在sql直接输出=”数据一行”&CHAR(10)&”数据二行”&CHAR(10)&”数据三行”,然后设置单元格为自动换行即可
注意:“”为双引号,不是两个单引号‘’
待换行的单元格 | 理想的结果 |
数据一行数据二行数据三行 | 数据一行 数据二行 数据三行 |
=”数据一行”&CHAR(10)&”数据二行”&CHAR(10)&”数据三行” | =待换行的单元格 |
结尾:可能没表达好,大家好好看上面的表格吧,应该好理解点!休息了,不早了。
本文最后编辑于:2015-11-14 23:33