无法将记录从Excel插入到SharePoint

时间:2017-09-06 02:41:04

标签: sql excel vba sharepoint ado

目前我正在遭受Excel ADO问题。

这是事情 我试图插入一些记录 从“Excel表”到“SharePoint列表”使用ADO连接。 但失败了(无法识别SQL语句中的Excel表)

Dim SQL        As String
Dim CN         As New ADODB.Connection
Dim OLEDB      As String
Dim LIST       As String
Dim SITE       As String

LIST = "{EE028282-3D7E-4D37-93EE-50FB69C4432C}"
SITE = "https://asml.sharepoint.com/teams/FFKR_DUV_YS_Installation_and_Relocation/Product"
OLEDB = "Provider=Microsoft.ACE.OLEDB.12.0;WSS;IMEX=0;RetrieveIds=Yes;" & _
         "DATABASE=" & SITE & ";" & _
         "LIST=" & LIST & ";"

Set CN = New ADODB.Connection
CN.Open OLEDB

    SQL = SQL & "INSERT INTO Schedule_DB (NAME,TYPE_W) "
    SQL = SQL & "SELECT * "
    SQL = SQL & "FROM [" & ThisWorkbook.FullName & "].[S_RAW$] "

    CN.Execute CommandText:=SQL
CN.Close

如果我运行它我会收到错误 - >
Error image

我已经检查了miss-spell,并且项目数量太多了,所以我更愿意将它作为一个SQL语句处理。
“Excel to Excel”运行良好但仍然没有“Excel to SharePoint List”的想法。 请分享您的建议。

1 个答案:

答案 0 :(得分:0)

当您想要从Excel工作表中读取数据时,您需要拥有<{1>} 读取权限,然后要将数据写入SharePoint列表,您需要拥有另一个{{1使用写入权限

  

注意:您无法以这种方式传输整个数据,您可以使用整个数据生成一个大命令,然后使用它或为Excel数据的每个记录生成命令。

关于您的例外,只是说它无法在SharePoint列表中找到您的工作表名称。

指导你的样本可以是这样的:

ADODB.Connection

然后打开ADODB.Connection并运行Dim cnnXl As New ADODB.Connection Dim rsXl As New ADODB.Recordset Dim cnnShP As New ADODB.Connection conStrXl = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source='C:\yourExcel.xlsx';" & _ "Extended Properties=""Excel 12.0;HDR=YES;IMEX=1;"";" commandXl = "SELECT [Field1], [Field2] FROM [Worksheet$$A1:D7] WHERE [Thing1] > 1" conStrShP = "Provider=Microsoft.ACE.OLEDB.12.0;WSS;IMEX=0;RetrieveIds=Yes;" & _ "DATABASE=yourSite;LIST={yourListCLSID};" 并将数据读取到cnnXl 然后打开commandXl并循环rsXl条记录并创建cnnShP并执行它。