繁体   English   中英

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

[英]Opening ADO connection to Excel Spreadsheet in VBA

我将如何打开与Excel 2007电子表格的ADO连接?

我这样做是为了将数据导入Access 2007.相当恼人的是,数据需要在导入之前进行过滤和预处理,因此我想打开ADO连接来读取它。

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驱动程序而不是JET。 另请参见Excel 2007的连接字符串

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

我最终在Access中创建了一个预处理Excel工作表的模块(因为每天导入的工作表发生了更改),然后将工作表设置为链接表的源。 然后,我使用“INSERT INTO” DoCmd.RunSQL调用查询链接表,以便从Excel和数据库中获取数据。

如果您愿意,我可以更详细地了解具体情况。

 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM