将数据从SSMS移动到Excel时复制和粘贴错误
我试图从SSMS复制查询结果到Excel。 我select“复制与标题”并将其粘贴到Excel中。 我的数据集有9列。 当我将数据粘贴到excel中时,来自第9列的信息结束于第9,10和1列。看起来像这样:
ABCDEFGHI -Column Heading ABCDEFGHII -Data I (blank row)
我已经查看了SSMS中的查询结果,这不是在原始数据中发生的。 当列F中的值为NULL时,不会出现列10中的附加行和信息。 到目前为止我已经尝试了以下几点:
– 当我从查询中删除第9列时,复制并粘贴,第8列分布在8,9和1。
– 我还创build了一个全新的电子表格,确保清除任何格式,并尝试复制和粘贴。
– 我将查询结果保存为一个.csv文件并将其导入到Excel中。 我仍然有同样的结果。
– 我一次一个地复制列。 第八列中的信息结束于与下一行的其他列配对的两行。 因此,第8列中的每个项目成为另一个行向下偏移,直到第8列中的值比其他列更多。 如果列8中的值为NULL,则不会发生。
– 从查询结果中删除所有其他项目,以便只返回第8列和第9列的值。 第9列的所有信息都以第8列结尾,然后是空白行。
-
单独返回8,每个返回的项目结束在两行。
-
单独返回9,数据粘贴正确。
标题总是在正确的地方。 从我可以推测,第8栏的数据是这里的罪魁祸首。 数据types是允许空值的varchar(max)。 包含的信息格式如下(TCdate和时间,姓氏,名字)注释
将SSMS查询结果移动到Excel中,以便表格是我经常做的事情。 但是我从来没有遇到过这个结果。 希望我的解释足够彻底,所以有人可以告诉我如何纠正这个错误。 谢谢!
在将数据集粘贴到Excel之前,将数据集中的feed和Carriage函数replace掉。在你遇到的问题列上尝试类似的方法,然后尝试将其粘贴到Excel中:
SELECT REPLACE(REPLACE(yourcolumnname, CHAR(13),' '), CHAR(10),' ') FROM table
这可能是由于最近在Excel中使用“文本到列”。 这使用一些规则拆分列。 列需要重新设置为“制表符分隔”。
对于违规列:
- 数据→文本到列
- 原始数据types:检查分隔符
- 点击下一步
- 分隔符:选中“Tab”,取消选中其他任何内容。
- 点击下一步
- 点击完成