SQL的查询结果复制到Excel 带标题Head 有换行符导致换行错乱 的解决方案

将SQL查询到的结果保存为excel有很多方法,其中最简单的就是直接复制粘贴了

1.带Head的复制粘贴

  1)先左击红色区域实现选择所有数据

  

  2)随后右击选择Copy with Headers  再粘贴到Excel即可

  

2.在查询到的数据中可能有数据包含换行符导致复制到excel中后会发生错乱换行的现象

例如:这条记录 复制到txt word 或者excel中时就会变成三行,像下面这样

{ botDisplayName }
{ botDescription }
Here is the join link: { botJoinLink }

所以我们在查询的时候将这条数据加上双引号并转换类型

SELECT    
    '"'+convert(varchar(8000),src.String)+'"' as String  --重点在这一行
    ,trans.[SymbolicName] as ResourceID
    ,trans.[ProjectName] as Project
      FROM [dbo].[xxxxx] trans
      inner join [dbo].[xxx] src
      on trans.ResourceIdentity=src.ResourceIdentity 
      Where trans.ProjectName = 'xxx' and trans.[SymbolicName] ='0;"String Table";"Strings";"BotListing.ShareBotInfo"'

 刚才的string会加上引号变成,Copy到Excel引号会消失,虽然还是换行了但是至少在一个单元格里面,保证了数据不散乱,效果如下所示:

MrNou
原文地址:https://www.cnblogs.com/yangsirc/p/8335997.html