当前位置:首页 » 编程语言 » 用sql处理excel数据
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

用sql处理excel数据

发布时间: 2022-07-21 01:53:07

㈠ 如何用sql语句查询Excel数据

如何用SQL语句查询Excel数据?
Q:如何用SQL语句查询Excel数据? A:下列语句可在SQL SERVER中查询Excel工作表中的数据。

2007和2010版本:

SELECT*FROMOpenDataSource( 'Microsoft.ACE.OLEDB.12.0', 'Data Source="c:\book1.xlsx";User ID=Admin;Password=;Extended properties=Excel 12.0')...[Sheet1$]
复制代码

SELECT*FROMOPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 12.0;Database=C:\book1.xlsx', 'SELECT * FROM [Sheet1$A1:D100]')
复制代码

SELECT*FROMOPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 12.0;Database=C:\book1.xlsx', 'SELECT * FROM [Sheet1$]')
复制代码
2003版本:

SELECT*FROMOpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 8.0')...[Sheet1$]
复制代码

SELECT*FROMOPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=C:\book1.xls', 'SELECT * FROM [Sheet1$]')

SELECT*FROMOPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=C:\book1.xls', 'SELECT * FROM [Sheet1$A1:D100]')
复制代码

而且,还需要用拥有服务器sysa

㈡ Excel中如何用SQL进行多工作簿汇总

对于经常使用Excel的人来说,在Excel中使用SQL能高效处理你的数据,但据我所知Excel中的SQL语法与MySQL数据的语法还有点不一样。现在我就来实例说明如何用SQL语句对多个工作簿进行汇总。假如我们要汇总如下三个工作簿

1. 学生信息表

2. 学生成绩表

3. 学生兴趣表

将这三个工作簿按相同学号进行合并,大致分如下几步:

1. 加载数据

在Excel中,依次点击:数据-自其它来源-来自Microsoft Query-Excel Files*

然后再找到你Excel表格的存放目录,如下图

点击下面你要加载的Excel数据表,进入下面页面

将上图可用的三张表都加入到右边查询结果中的列,加入完成后点击下一步,数据就加载完成了。

2. 编写SQL代码并执行

接下来点击上面的SQL按钮开始写SQL合并代码。单纯的合并代码如下

SELECT

tm.*,

tn.兴趣爱好 AS 兴趣爱好

FROM(

SELECT

ta.学号 AS 学号,

ta.姓名 AS 姓名,

ta.年龄 AS 年龄,

ta.性别 AS 性别,

ta.身高 AS 身高,

ta.出生地 AS 出生地,

tb.语文成绩 AS 语文成绩,

tb.数学成绩 AS 数学成绩

FROM(

SELECT

tt.学号 AS 学号,

tt.姓名 AS 姓名,

tt.年龄 AS 年龄,

tt.性别 AS 性别,

tt.身高 AS 身高,

tt.出生地 AS 出生地

FROM [学生基本信息表$] tt

)ta

INNER JOIN(

SELECT

tt.学号 AS 学号,

tt.语文成绩 AS 语文成绩,

tt.数学成绩 AS 数学成绩

FROM [学生成绩表$] tt

)tb

ON ta.学号=tb.学号

)tm

INNER JOIN(

SELECT

tt.学号 AS 学号,

tt.兴趣爱好 AS 兴趣爱好

FROM [学生兴趣表$] tt

)tn

ON tm.学号=tn.学号

将代码写好后复制放入文本框中,点击确定按钮,就开始执行SQL语句。结果如下

这样就完成了三个工作簿的数据合并,接下来将数据返回Excel表。

3. 返回数据到Excel表

点击左上角的文件-将数据返回Microsoft Excel,弹出如下页面

选择数据的存放位置为新工作表,然后点击确定即可,最终得到如下数据表

这样就完成了三个工作簿的数据合并。

Tips:

1. 由于Excel中执行SQL语句时没有比较详细的报错信息,如果SQL代码语法有错误有可能执行会报错,这个问题可以上网查询或者直接在评论区问我。

2. 在Excel SQL中常用到的合并操作有INNER JOIN、LEFT JOIN、RIGHT JOIN、UNION、UNION ALL等,但不支持FULL JOIN。更复杂的需求都有一定的处理技巧。

㈢ 如何使用SQL语句实现对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在微软官网下载安装),不同的版本访问方式不一样,如下是各版本的访问方式:
--> 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语言实现数据查询

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”。

㈤ 如何用sql查询excel数据

在通过ADO对Excel对象进行连接时(此时Excel则认为是一个数据源),需要配置对Excel数据源对应的连接串,这个连接串中包括了Provider信息(其实类似对数据库进行连接操作时,都需要指定连接字符串),以下是一行连接串源代码: strConnString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strExcelFilePath & ";Extended Properties=Excel 12.0" 这里的Provider使用了Microsoft.ACE.OLEDB.12.0,其实除了Microsoft.ACE.OLEDB.12.0,还有Microsoft.Jet.OLEDB.4.0,它们俩者之间有什么联系和区别呢: 共同点:都是做为连接Excel对象的接口引擎 不同点: 对于不同的Excel版本,有两种接口可供选择:Microsoft.Jet.OLEDB.4.0(以下简称 Jet 引擎)和Microsoft.ACE.OLEDB.12.0(以下简称 ACE 引擎)。 Jet 引擎,可以访问 Office 97-2003,但不能访问 Office 2007。 ACE 引擎是随 Office 2007 一起发布的数据库连接组件,既可以访问 Office 2007,也可以访问 Office 97-2003。 另外:Microsoft.ACE.OLEDB.12.0 可以访问正在打开的 Excel 文件,而 Microsoft.Jet.OLEDB.4.0 是不可以的。 所以,在使用不同版本的office时,要注意使用合适的引擎。 A:下列语句可在SQL SERVER中查询Excel工作表中的数据。 2007和2003都可用 SELECT * FROM OpenDataSource( 'Microsoft.ACE.OLEDB.12.0','Data Source="D:\test1.xls";User ID=Admin;Password=;Extended properties="Excel 12.0 Xml;HDR=YES;IMEX=1";')...[Sheet1$] 2007和2010版本: SELECT * FROM OpenDataSource( 'Microsoft.ACE.OLEDB.12.0', 'Data Source="c:\book1.xlsx";User ID=Admin;Password=;Extended properties=Excel 12.0')...[Sheet1$] SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 12.0;Database=C:\book1.xlsx', 'SELECT * FROM [Sheet1$A1:D100]') SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 12.0;Database=C:\book1.xlsx', 'SELECT * FROM [Sheet1$]') 2003版本: SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 8.0')...[Sheet1$] SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=C:\book1.xls', 'SELECT * FROM [Sheet1$]') SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=C:\book1.xls', 'SELECT * FROM [Sheet1$A1:D100]') 而且,还需要用拥有服务器sysadmin角色权限的登录帐号,先执行下列语句打开SQL SERVER的'Ad Hoc Distributed Queries'开关。 exec sp_configure 'show advanced options',1;reconfigure; exec sp_configure 'Ad Hoc Distributed Queries',1;reconfigure; 执行查询后,再用相反顺序的语句,关闭'Ad Hoc Distributed Queries'开关。 exec sp_configure 'Ad Hoc Distributed Queries',0; reconfigure;exec sp_configure 'show advanced options',0;reconfigure

㈥ 怎么把excel文件里的数据导入SQL数据库

具体操作步骤如下:

1、首先双击打开sqlserver,右击需要导入数据的数据库,如图所示。

㈦ Excel表中连接sql并使用sql语句引用excel单元格数据作为查询条件

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

㈧ 怎样把Excel数据导入SQL数据库中,该如何处理

怎样把Excel数据导入SQL数据库中,该如何处理
方法如下:

1、打开要导入的Excel文件,观察第一列是为字段还是数据。

2、打开SQLServer,在需要导入的数据点击右键 【任务】-【导入数据】
出现导入导出向导。

3、点击下一步 ,进入【选择数据源】页面,注意红框设置。

4、点击下一步 ,进入【选择目标】页面,注意红框设置。

5、点击下一步 ,进入【指定表复制或查询】页面,注意红框设置。

6、点击下一步 ,进入【选择源表和源视图】页面,注意红框设置。

7、下一步,直到完成。出现【执行结果页面】。

8、最后在SqlServer查询表。

㈨ 如何在EXCEL中使用SQL进行数据处理与分析

方法一:利用Microsoft Query使用SQL语句

㈩ 如何在Excel中使用SQL语言实现数据查询

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”,纯手打,望采纳答案哦,谢谢