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

在VBA中打开与Excel电子表格的ADO连接

  •  4
  • jwoolard  · 技术社区  · 16 年前

    如何打开到Excel2007电子表格的ADO连接?

    我这样做是为了将数据导入到Access 2007中。令人恼火的是,数据在导入之前需要经过过滤和预处理,因此我为什么要打开一个ADO连接来读取它。

    3 回复  |  直到 13 年前
        1
  •  6
  •   Helen    16 年前
    Set oConn = CreateObject("ADODB.Connection")
    oConn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\MyExcel2007File.xlsx;Extended Properties=""Excel 12.0 Xml;HDR=YES"";"
    oConn.Open
    

    请注意,您需要使用 ACE driver 而不是喷气式飞机。也见 Connection strings for Excel 2007 .

        2
  •  1
  •   Andrew Scagnelli    16 年前

    如果要多次运行导入(例如:某种类型的每日报告服务),您可能需要尝试与ADO不同的方法。

    我最终在Access中创建了一个模块,该模块预处理Excel工作表(因为每天导入的工作表都会更改),然后将工作表设置为链接表的源。然后,我用“insert into”查询链接表。 DoCmd.RunSQL 调用以将数据从Excel中取出并放入数据库。

    如果你愿意,我可以更详细地说。

        3
  •  1
  •   j0k gauthamp    13 年前
     Set cnn = New ADODB.Connection
        'cnn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & sFullFileName & ";Extended Properties = Excel 12.0 Macro; HDR=No;"
        'cnn.ConnectionString = "provider=Microsoft.Jet.OLEDB.4.0; data source=" & sFullFileName & ";Extended Properties=Excel 8.0"
        cnn.ConnectionString = "DRIVER={Microsoft Excel Driver (*.xls)};ReadOnly=1;DBQ=" & sFullFileName
        cnn.Open
    
    推荐文章