对我来说,一个非常简单的程序对我来说太难了。我写了一个查询,然后当我粘贴到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)
答案 0 :(得分:2)
SSMSBoost加载项可将结果表格中的“复制粘贴”数据添加到Excel,同时保留所有数据类型(使用本机Excel剪贴板格式)。
(我是此外接程序的开发人员)
答案 1 :(得分:0)
尝试使用SSMS的Import-Export向导。将表/视图的数据转储到Excel中。
答案 2 :(得分:0)
我想添加评论,但尚未达到该级别。
尝试从查询结果导出到Excel时,您应该能够右键单击并保存为&#39 ;;但不是选择默认的.csv,而是将其更改为制表符分隔的.txt。在替换语句' CHAR(9)'之前进行此更改(或添加)之前TAB字符替换为""。
我也成功选择了所有内容(查询显示的左上角),然后右键点击数据并选择“使用标题复制”#39;然后粘贴到新的工作簿表。