将数据从 SQL Server 复制/粘贴到 Excel 会将文本分成多列吗?

将数据从 SQL Server 复制/粘贴到 Excel 会将文本分成多列吗?

我在将数据从 SQL Server 2005 的结果网格粘贴到 Excel 2007 电子表格时遇到了问题。

我在 SQL Server 中有一个查询,它返回 2 列(一个数字列和一个文本列)。在一台计算机上,我可以轻松复制(右键单击 > 复制),然后只需右键单击并粘贴到 Excel 电子表格中。这没问题。

在另一台电脑上,当我尝试粘贴到 Excel 中时,它会拆分文本列并根据单词之间的空格将文本粘贴到多个列中。例如,如果其中一行包含文本,Paste me please则在粘贴到 Excel 中时,它会拆分文本并将每个单词粘贴到 Excel 中的单独列中。

我们尝试将 SQL Server 和 Excel 中的选项与其正常运行的计算机进行比较,但没有看到任何差异。

答案1

如果您最近使用过“文本转列”,它将把这些设置应用于粘贴操作。我不记得在 Excel 2007 之前发生过这种情况,但可能曾经发生过。在开始再次复制和粘贴之前,我总是必须返回并将其重新设置为制表符分隔。

答案2

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

  • 原始数据类型:支票分隔符
  • 下一个
  • 分隔符:取消选中空间
  • 下一个
  • 结束

最后把结果贴出来。

答案3

您是否尝试过替换出现问题的计算机上的 Excel 启动模板?它可能定义了一个由您的粘贴操作触发的宏。根据 Microsoft 知识库文章 924460,模板存储在以下位置:

默认情况下,用户模板文件存储在以下位置:

  • 在 Windows XP 中,C:\Documents and Settings\\Application Data\Microsoft\Templates
  • 在 Windows Vista 或 Windows 7 中,C:\Users\\AppData\Roaming\Microsoft\Templates

答案4

如果您的表包含 nvarchar(max) 字段,请将该字段移至表的底部。如果字段类型与 nvarchar(max) 不同,则识别有问题的字段并使用相同的技术。保存。在 SQL 中重新选择表。如果您无法在不更改的情况下保存,则可以在“工具”|“选项”中暂时关闭相关警告。此方法没有风险。将带有标题的 SQL GRID 显示复制并粘贴到 Excel。数据可能仍会显示回车符,但至少您的数据都在同一行上。然后选择所有行记录并对 ID 列进行自定义排序。现在,您的所有记录都应该是完整且连续的。

相关内容