目前我正在遭受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”的想法。
请分享您的建议。
答案 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
并执行它。