代码之家  ›  专栏  ›  技术社区  ›  user8566482

无法将记录从Excel插入SharePoint

  •  1
  • user8566482  · 技术社区  · 7 年前

    目前,我正在遭受的问题。

    事情是这样的 我想插入一些记录

    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到Excel”运行良好,但仍然没有“Excel到SharePoint列表”的想法。

    1 回复  |  直到 7 年前
        1
  •  0
  •   shA.t Rami Jamleh    7 年前

    当你想从Excel表格中读取数据时,你需要有一个 ADODB.Connection 具有 读取权限 ,然后要将数据写入SharePoint列表,您需要有另一个 ADODB。联系 .

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


    指导您的示例可以如下所示:

    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 并执行它。