我的每一行都有一个查询Excel,大约2000.当我将所有查询粘贴到SQL Server时,大约有100行显示错误。可能甚至不是错误,但查询将在整个查询前面用双引号粘贴到SQL Server中。
我有错误检查,所以它与Excel表格中的数据有关。我的查询粘贴在SQL Server中,例如:
"insert into
我无法粘贴整个查询或任何数据,抱歉。
感谢您查看此内容
答案 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表示填充剪贴板。这意味着:加上双引号,字符串中的双引号用另一个双引号进行转义。
从公式栏中选择所有文本的更简单方法是很好的......
答案 4 :(得分:0)
使用“保留源格式”粘贴选项将MS Excel内容粘贴到MS Word中,然后将其复制并粘贴到SQL / XML。
答案 5 :(得分:0)
我发现excel文件中的选项卡也会导致这种现象。
您刚刚复制了op遇到的问题。
开始
您应该已经解决了这个问题。
答案 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)
虽然这个问题很老,但我仍然在谷歌上搜索这个链接。所以我认为留下我发现并且对我有用的主题应该是好的。