乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 如何用SQL语句查询Excel数据-sql查询excel,excel调用sql

如何用SQL语句查询Excel数据-sql查询excel,excel调用sql

作者:乔山办公网日期:

返回目录:excel表格制作


1、选中表格后单击右键选择“定义名称”。

2、单击后,出现命名对话框。

3、这里将表1和表2分别命名为Table1和Table2。

4、选择上方的“数据”选项卡,选择“自其他来源”下的“来自Microsoft Query ”选项。

5、在弹出的对话框中选择Excel Files*那一项,并且把对话框下面的“使用“查询向导”创建/编辑查询”勾掉。

6、点击“确定”,便出现“选择工作簿”的对话框,这里选择包含表1和表2的工作表xxx.xlsx。

7、点击确定后之后弹出添加表的对话框。

8、点击确定后之后弹出添加表的对话框。

9、输入SQL语句的按钮,弹出输入SQL语句的对话框 输入SQL,看到筛选出来的数据表。

10、将筛选出来的数据表再返回至Excel工作表当中,选择菜单中的“文件”——“将数据返回Microsoft Excel”。




给个示例

Sub 去重()
    Dim cnn, SQL$
    Set cnn = CreateObject("adodb.connection")
    cnn.Open "Provider=Microsoft.jet.OLEDB.4.0;Extended Properties=Excel 8.0;Data Source=" & ThisWorkbook.FullName
    SQL = "SELECT  DISTINCT [aac001],[aac003],部门代码,但未编号,基数,个人,单位,金额 FROM [明细$A3:H65536]  "
    Range("A2:I65536").ClearContents
    Range("A2").CopyFromRecordset cnn.Execute(SQL)
    cnn.Close
    Set cnn = Nothing
End Sub

你可以参考一下。



--1.开启远程查询支持
exec sp_configure 'show advanced options' ,1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure

--2.链接Excel Microsoft ACE 12.0 OLE DB Provider 读Excel数据(注意Excel必须事先关闭)
select * from
openrowset('Microsoft.ACE.OLEDB.12.0','Excel 12.0;HDR=Yes;DATABASE=C:/Users/nichk/Desktop/data.xls', Sheet1$);

--3.记得用完选项后,关闭这些选项
exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure

--4.查看是不是关闭
exec sp_configure

记得电脑必须安装oledb提供程序(可搜索AccessDatabaseEngine.exe在微软官网下载安装),不同的版e799bee5baa6e78988e69d83336本访问方式不一样,如下是各版本的访问方式:

--> Jet 引擎访问 Excel 97-2003  
select * from OpenRowSet('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;HDR=Yes;IMEX=1;Database=D:/97-2003.xls', 'select * from [Sheet1$]')  
select * from OpenRowSet('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;HDR=Yes;IMEX=1;Database=D:/97-2003.xls', [Sheet1$])  
select * from OpenDataSource('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;HDR=Yes;IMEX=1;Database=D:/97-2003.xls')...[Sheet1$]  
select * from OpenDataSource('Microsoft.Jet.OLEDB.4.0', 'Data Source=D:/97-2003.xls;Extended Properties="Excel 8.0;HDR=Yes;IMEX=1"')...[Sheet1$]  
  
--> ACE 引擎访问 Excel 97-2003  
select * from OpenRowSet('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;HDR=Yes;IMEX=1;Database=D:/97-2003.xls', 'select * from [Sheet1$]')  
select * from OpenRowSet('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;HDR=Yes;IMEX=1;Database=D:/97-2003.xls', [Sheet1$])  
select * from OpenDataSource('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;HDR=Yes;IMEX=1;Database=D:/97-2003.xls')...[Sheet1$]  
select * from OpenDataSource('Microsoft.ACE.OLEDB.12.0', 'Data Source=D:/97-2003.xls;Extended Properties="Excel 12.0;HDR=Yes;IMEX=1"')...[Sheet1$]  
  
--> ACE 引擎访问 Excel 2007  
select * from OpenRowSet('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;HDR=Yes;IMEX=1;Database=D:/2007.xlsx', 'select * from [Sheet1$]')  
select * from OpenRowSet('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;HDR=Yes;IMEX=1;Database=D:/2007.xlsx', [Sheet1$])  
select * from OpenDataSource('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;HDR=Yes;IMEX=1;Database=D:/2007.xlsx')...[Sheet1$]  
select * from OpenDataSource('Microsoft.ACE.OLEDB.12.0', 'Data Source=D:/2007.xlsx;Extended Properties="Excel 12.0;HDR=Yes;IMEX=1"')...[Sheet1$]

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网