无法将记录从Excel插入到SharePoint中
问题描述:
目前我正在遭遇Excel ADO问题。无法将记录从Excel插入到SharePoint中
这是事情taht 我试图插入一些记录 从“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
我已经检查误拼写,以及量项目太多了,所以我宁愿将它作为一个SQL语句来处理。
“Excel to Excel”效果不错但“Excel到SharePoint列表”仍然没有任何提示。 请分享您的建议。
答
当你想从你的Excel工作表中读取数据,你需要有一个ADODB.Connection
与读取权限,然后将数据写入到SharePoint列表,你需要有另一个ADODB.Connection
与写权限。
注意:您不能以这种方式传输整个数据,您可以生成一个包含整个数据的大命令,然后使用它或为每个Excel数据记录生成命令。
关于您的例外,它只是说它无法在SharePoint列表中找到您的工作表名称。
的样本来指导你可以是这样的:
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
并循环rsXl
记录并创建您的commandShP
并执行它。
谢谢shA.t,你能解释一下[关于rsXl记录的循环并创建你的commandShP并执行它]的更多细节。我很兴奋,可以有答案! – user8566482
使用[循环遍历一个像这样的记录集]的示例,您可以像插入到Schedule_DB(NAME,TYPE_W)值('name','type')一样创建SQL命令;'然后使用连接执行此命令SharePoint('cnnShP');)。 –