将数据从SQL复制粘贴到EXCEL

时间:2018-02-15 17:05:32

标签: sql-server excel ssms export-to-excel

对我来说,一个非常简单的程序对我来说太难了。我写了一个查询,然后当我粘贴到excel时复制带有标题的数据,它看起来很乱,但现在我知道发生了什么。我的应用程序中的地址列是一个多行文本框 - 在sql中列类型:varchar(Max)。但是在Sql中,该列是单行值..所以在Excel中发生了什么。它将Address字段打破了它在应用程序中输入的方式。 知道如何解决这个问题。

我尝试了替换并找到了ASCHI角色但又失败了。

replace(replace(replace([GP], CHAR(13), ''), CHAR(32), ' '), CHAR(10), ', ')

示例:

数据库表: ID; PK int Identity 名称:varchar(5) 地址1:varchar(Max) - 应用程序中的MultiLine文本框 地址2:Varchar(MAX) - 应用程序中的MultiLine文本框 注释:Varchar(MAX) - 应用程序中的MultiLine文本框

Sql Management Studio中的表

 ID Name    Address1             Address2                        Comment
1   Dave    13 Close Drive, Newcastle, United Kingdom, NW12 8GS 12 Driveway, Newcastle, NW12 8HS    This comment is shown in SQL SERVER Management in one long line ( not in New Line)

将其复制到Excel后:

ID   Name Address1           Address2      Comment
1   Dave   13 Close Drive      12 Driveway, This comment is shown in SQL 

Newcastle, 
United Kingdom,
NW12 8GS
Newcastle, 
NW12 8HS
SERVER Management in one long line ( not in New Line)

3 个答案:

答案 0 :(得分:2)

SSMSBoost加载项可将结果表格中的“复制粘贴”数据添加到Excel,同时保留所有数据类型(使用本机Excel剪贴板格式)。

(我是此外接程序的开发人员)

答案 1 :(得分:0)

尝试使用SSMS的Import-Export向导。将表/视图的数据转储到Excel中。

答案 2 :(得分:0)

我想添加评论,但尚未达到该级别。

尝试从查询结果导出到Excel时,您应该能够右键单击并保存为&#39 ;;但不是选择默认的.csv,而是将其更改为制表符分隔的.txt。在替换语句' CHAR(9)'之前进行此更改(或添加)之前TAB字符替换为""。

我也成功选择了所有内容(查询显示的左上角),然后右键点击数据并选择“使用标题复制”#39;然后粘贴到新的工作簿表。