将数据从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”,取消选中其他任何内容。
  • 点击下一步
  • 点击完成