从Excel复制/粘贴到SQL Server 2012时,excel查询中的双引号

时间:2014-09-29 22:41:31

标签: sql sql-server excel

我的每一行都有一个查询Excel,大约2000.当我将所有查询粘贴到SQL Server时,大约有100行显示错误。可能甚至不是错误,但查询将在整个查询前面用双引号粘贴到SQL Server中。

我有错误检查,所以它与Excel表格中的数据有关。我的查询粘贴在SQL Server中,例如:

"insert into

我无法粘贴整个查询或任何数据,抱歉。

感谢您查看此内容

8 个答案:

答案 0 :(得分:8)

当一行有嵌入的回车符时会发生这种情况,也可能在其他情况下发生。我只是在生成的查询中对双引号进行查找/替换,但您也可以先将其粘贴到Word中,然后从那里复制,它将粘贴而不用引号。

或者,如果它仅来自嵌入式返回,则可以将公式包装在一对SUBSTITUTE()函数中,以便在公式位于CHAR(13)时删除CHAR(10)A1:< / p>

=SUBSTITUTE(SUBSTITUTE(A1,CHAR(13),""),CHAR(10),"")

答案 1 :(得分:2)

实际上比这里的所有帖子容易得多, 在另一列中执行以下公式:

= CLEAN(了myCell)

答案 2 :(得分:1)

当您在Excel单元格中输入SQL查询时,从不点击 Enter ,只需在一行中输入所有内容,无论它有多长。

如果您已输入查询,请双击单元格以进入编辑模式并开始删除您已输入的所有新行。

答案 3 :(得分:0)

最简单的方法是从公式栏而不是从单元格中复制。

如果单元格中有多行,Excel将使用单元格的CSV表示填充剪贴板。这意味着:加上双引号,字符串中的双引号用另一个双引号进行转义。

  • :选择单元格Ctrl-C
  • 而是:选择单元格; 在公式栏中,突出显示完整文本(光标在开始,按shift,按向下箭头直到最后一个字符突出显示),Ctrl-C。
  • 并粘贴到目标应用程序(记事本或浏览器输入表单,或......)

从公式栏中选择所有文本的更简单方法是很好的......

答案 4 :(得分:0)

使用“保留源格式”粘贴选项将MS Excel内容粘贴到MS Word中,然后将其复制并粘贴到SQL / XML。

答案 5 :(得分:0)

我发现excel文件中的选项卡也会导致这种现象。

创建OP引用的问题的步骤

  • 找到一个表创建脚本,其中所有字段都在1个标签中被标签
  • 将其复制为excel在第二列中执行一些sql生成宏
  • (Col E,因为A-D被文本转换为col操作所用)复制
  • 将Col E粘贴到Visual Studio

您刚刚复制了op遇到的问题。

FIX

开始

  • 向表创建脚本突出显示所有列
  • SHIFT-TAB直到它们全部位于第0列
  • 将该字段列表粘贴回Excel。
  • 重做TEXT TO COL操作
  • (该宏应该仍然不错,请确保对其进行检查)
  • 将COL E复制到Visual Studio 工作室

您应该已经解决了这个问题。

答案 6 :(得分:0)

我不得不说“Spacez”给出了最好的答案。他给出了找到真正答案的道路。

Sub CopyCellContents()
'create a reference in the VBE to Microsft Forms 2.0 Lib
' do this by (in VBA editor) clicking tools - > references and then ticking 
"Microsoft Forms 2.0 Library"
Dim objData As New DataObject
Dim strTemp As String
strTemp = ActiveCell.Value
objData.SetText (strTemp)
objData.PutInClipboard
End Sub

答案 7 :(得分:-1)

虽然这个问题很老,但我仍然在谷歌上搜索这个链接。所以我认为留下我发现并且对我有用的主题应该是好的。

Leave out quotes when copying from cell