我有一些来自 SQL 的数据只能复制并粘贴到 excel 中,烦人的是,每当我粘贴数据时,excel 都会自动为我删除空格并将其拆分为多列,这是一个例子:
SQL 上的数据 1:“US299 00000 00018 0116001.;.AABS.Audit。”
SQL 上的数据2:“00000”
Excel 中的最终结果是:Excel 上的数据 1 分为 4 列:
“US299”、“0”、“18”、“0116001;.AABS.审计。”
excel 上的 data2 变为 0
我只希望数据与 SQL 上的数据完全一致。
有人能帮帮我吗?非常感谢。
答案1
您主要有两个选择。一个是在粘贴之前格式化要粘贴的列。另一个是在Text to Columns
( T2C
) 函数中进行更改。
首先,格式发生了变化。与几乎所有相关问题不同,您不是从文件列表开始,然后单击打开导入文件(CSV 是引用的常见格式)。因此,通常的“太糟糕了,但 Excel 在这里“帮助”了你,不管你喜欢与否,不管它是否有用”并不适用。您打开了一个电子表格,可以选择是继续前进并感到不高兴,还是将列格式化为文本,然后进行粘贴。我想你是后者!如果是这样,那就足够了。您希望它在粘贴后成为文本字符串,它就会是。成交。
其次,工作方式发生了变化T2C
。您会问“啊?为什么?这有什么关系?”好吧,无论您是搜索并找到“旧版”的“导入向导”并控制其功能进行导入(我知道您做不到,但其他人可能会读到这篇文章,并且它可能适用于他们),还是只是打开一个文件,Excel 都会使用向导,因此其设置很重要。但猜怎么着?粘贴时也会使用这些设置!
因此,如果您T2C
直接使用,或通过查找和使用“遗留”间接使用Import Wizard
,并且使用“分隔”路径,在其中进行更改(选择或添加不同的分隔符),这些更改会影响将来粘贴到未格式化的单元格中(因为存在“默认格式”,并且没有任何自定义)。
因此,我可以肯定地说,您在 Excel 会话中的那些设置已将空格作为分隔符。要解决此问题,您只需选择一个包含内容的单元格(T2C
如果选定的只是空白单元格,则不会运行),启动T2C
,选择分隔符路径,然后取消选中选择空格作为分隔符之一的框。不要继续操作(除非您恰好想对此单元格执行此操作!),而是单击Cancel立即退出。更改将被保留。
现在,您可以粘贴数据,而无需 Excel 使用空格作为分隔符将其拆分为列。
Excel 就像是一只咬着骨头的狗。他们创建了其中的一些方面,然后将其融入其他两个方面。我敢打赌,可能是,Import Wizard
然后有人想,嘿,写一种方法将其输入到向导中并调用该功能T2C
,然后有人说“嘿,我们可以在有人粘贴时输入它,让它为粘贴添加“功能”!”
您知道,正如约翰林戈可能写过的,“对于某些价值观add functionality
”......
这个问题已经多次被提及。超级用户上甚至有一篇帖子,其中有一个知名人士给出了答案,并提供了一个宏来帮他进行更改。然后他似乎在互联网上进行了研究,发现一个知名人士很久以前就做过同样的事情。让我们面对现实吧,一路上可能有几十个、几百个或更多的人:
第二个答案。
但实际上,记住之后(总是很难,是吧?),手动操作是一件简单、容易的事情。我一直都遇到这种情况,不是在手动数据导入中,而是在客户发来的电子邮件中,其中包含大量标准格式的信息,我需要其中的一部分。我将其复制并粘贴到“有用的东西”文件中的一张表中,让公式为我收集这些信息。但我确实做了其他导入,偶尔也会这样做,它会拆分单元格/字符串,导致公式出错。那么,宏就很好了,只需在粘贴到这张表之前单击一下,但是Ctrl-Z,然后单击几下鼠标并再次粘贴非常容易,我从来没有这样做过。但它可能会吸引很多人。