乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > EXCEL中SQL Server Where 使用某一列的数...-excel中使用sql语句,使用sql查询excel

EXCEL中SQL Server Where 使用某一列的数...-excel中使用sql语句,使用sql查询excel

作者:乔山办公网日期:

返回目录:excel表格制作


--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在微软官网下载安装),不同的e799bee5baa6e79fa5e98193e78988e69d83336版本访问方式不一样,如下是各版本的访问方式:

--> 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$]



可以的,EXCEL可以作为数据源(SQL语句FROM后面的表),也可以结果存放到EXCEL里面,不过需要使用微软查询(2016版包含)。

1、将需要处理的记录复制到一个新的工作表,然后将在数据库表中存在唯一值的列(比如物料编码)后插入一列,用 CONCATENATE函数将其前后加上“'”。

2、将加“'”的这列数据复制到一个文本文件中。

3、关闭并保存这个新的文本文件,然后用Word 将其打开。

4、快捷键Ctrl+F,点击“替换”,查找内容中输入“^p”,替换为输入“,”。

5、在 sql server 的查询界面,输入以下SQL语句:use 数据库名,select * from  表名  ,where  字段名  in ,(Word 中的文本)。

相关阅读

关键词不能为空
极力推荐

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