sql数据库查询结果字段包含换行符导致复制到Excel发生错位问题的解决

您所在的位置:网站首页 excel分列显示会有数据丢失怎么办 sql数据库查询结果字段包含换行符导致复制到Excel发生错位问题的解决

sql数据库查询结果字段包含换行符导致复制到Excel发生错位问题的解决

2024-06-01 05:54| 来源: 网络整理| 查看: 265

问题描述: 在工作过程中,有时会遇到这样的问题,写好sql查询语句在数据库中查询数据,看到行数(比如说是1000行),但是把查询结果复制到Excel里面,却发生了行列错位问题,而导致Excel里面的行数是超过1000行的,造成数据行数的不一致。

问题重现: 字段值包含char(10)换行符,复制字段值到Excel.

根源: 某些行列对应单元格包含了换行符,导致复制到Excel里面发生错位。

解决方案: 方案1(推荐):把有问题的字段值,用英文双引号括起来,这样就能把字段值里面的换行符限制在正确的Excel单元格里面。 方案2:通过脚本把对应的字段值换行符去掉。

create table #t ( Name nvarchar(50), Remark nvarchar(50) )

–问题重现条件:单元格里面包含换行符 insert into #t values (‘A1’ + char(10) + ‘B1’, ‘行1’), (‘A2B2’, ‘行2’)

–问题重现结果:把sql查询结果复制到Excel会错位 select Name, Remark from #t

–解决方案1:可以直接在字段加双引号处理,复制到Excel就不会错位,也不会显示多余的双引号。相当于把字段里的换行限制在单元格内 select ‘"’+ Name + ‘"’ as Name, Remark from #t

–解决方案2:可以把换行符去掉 select replace(replace(Name, char(13), ‘’), char(10), ‘’) as Name, Remark from #t

drop table #t



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3