2012-03-05 12:05:12 +0000 2012-03-05 12:05:12 +0000
14
14

将SQL Server中的数据复制/粘贴到Excel中,将文本分割成多列?

我遇到了一个问题,将SQL Server 2005的结果网格中的数据粘贴到excel 2007的电子表格中。

我在SQL Server中有一个查询,返回2列(一个数字列和一个文本列)

在一台电脑上,我可以很高兴地复制(右键单击>复制),然后右键单击并粘贴到excel电子表格中,没有问题。

在另一台电脑上,当我尝试粘贴到excel中时,它将文本列分割开来,并根据字与字之间的空格将文本粘贴到多列中。

例如,如果其中一行有……。

请粘贴我

…当粘贴到excel中时,它将文本分割并将每个单词粘贴到excel中的单独一列。

我们已经尝试比较了SQL Server和excel中的选项,在电脑上工作正常,但看不出有什么不同。

任何想法都欢迎

谢谢。

答案 (6)

20
20
20
2012-05-21 20:06:39 +0000

如果你最近使用了 “文本到列",它将把这些设置应用到 "粘贴 "操作中。我不记得在Excel 2007之前发生过这种情况,但可能有。我总是要在再次开始复制和粘贴之前,回过头来将其设置为以制表符分隔的状态。

7
7
7
2013-07-09 17:00:59 +0000

粘贴结果前。数据 → 文本到列

-原始数据类型。勾选 Delimited - Next - Delimiters: 取消勾选Space - Next - Finish

最后粘贴结果。

1
1
1
2015-11-13 18:40:08 +0000

我发现,如果我退出Excel,然后重新启动它,并重新加载我的电子表格,它清除了文本到列选项,所以粘贴将再次按预期工作。

Hector的答案很好,你不用退出Excel,但这个也能用,而且相当快速简单。

0
0
0
2014-03-30 00:32:10 +0000

如果你的表包含一个 nvarchar(max) 字段,将该字段移到表的底部。如果字段类型与 nvarchar(max) 不同,则确定违规字段,并使用同样的技巧。保存它。在SQL中重新选择表。如果你不能在没有改变的情况下保存,你可以在TOOLS | OPTIONS中临时打开相关警告。这种方法没有风险。复制并粘贴带头的SQL GRID显示到Excel中。数据可能仍然会出现回车,但至少你的数据都在同一行。然后选择所有的行记录,并对ID列进行自定义排序。现在您的所有记录都应该是完整和连续的。

0
0
0
2016-10-26 18:15:51 +0000

我时常遇到的类似情况是,当用户在一列用于注释的列中使用回车/换行字符时,行被分割成多行。我找到了一个适用于SQL 2012/2014的解决方案 这里 .

显然,这在SQL Server的以前版本中不是一个问题。如果你不想通过链接,这里是如何在你的SQL中修复这个问题。

REPLACE(REPLACE([YourColumnHere], CHAR(10), ''), CHAR(13), '')
0
0
0
2017-11-23 12:56:16 +0000

解决此问题在Excel中粘贴后点击选项。

“使用文本导入向导”–> 分割–> 下一步 勾选 “制表符",勾选 "将连续的分隔符视为一个”–> 下一步 完成。