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

sqlselectexcel

发布时间: 2022-09-27 11:46:31

sql Server2012用select语句导入2个EXCEL2010表格的问题

--你的代码这样改,Excel2010应该不是这个MICROSOFT.JET.OLEDB.4.0驱动

SELECT ORIGINCOUNTRY, SHVOLUMEINCMTR FROM openrowset('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=C:UsersDesktopQ1.xlsb',Q1$) A

WHERE TRANSPORTMODE = 'AIR%'

union all

SELECT ORIGINCOUNTRY, SHVOLUMEINCMTR FROM openrowset('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=C:UsersDesktopQ2.xlsb',Q2$) B

WHERE TRANSPORTMODE = 'AIR%'

--我的代码,Excel2007是能查询成功的

select ORIGINCOUNTRY, SHVOLUMEINCMTR from OpenDataSource('Microsoft.ACE.OLEDB.12.0', 'Data Source=C:UsersDesktopQ1.xlsb;Extended Properties="Excel 12.0;HDR=Yes;IMEX=1"')...[Q1$]

WHERE TRANSPORTMODE = 'AIR%'

union all

select ORIGINCOUNTRY, SHVOLUMEINCMTR from OpenDataSource('Microsoft.ACE.OLEDB.12.0', 'Data Source=C:UsersDesktopQ1.xlsb;Extended Properties="Excel 12.0;HDR=Yes;IMEX=1"')...[Q2$]

WHERE TRANSPORTMODE = 'AIR%'


⑵ 如何通过SELECT语句查询出来后,用SQL语句把数据写入到指定的EXCEL中

给个示例

Sub去重()
Dimcnn,SQL$
Setcnn=CreateObject("adodb.connection")
cnn.Open"Provider=Microsoft.jet.OLEDB.4.0;ExtendedProperties=Excel8.0;DataSource="&ThisWorkbook.FullName
SQL="SELECTDISTINCT[aac001],[aac003],部门代码,但未编号,基数,个人,单位,金额FROM[明细$A3:H65536]"
Range("A2:I65536").ClearContents
Range("A2").CopyFromRecordsetcnn.Execute(SQL)
cnn.Close
Setcnn=Nothing
EndSub

你可以参考一下。

⑶ 如何用SQL语句查询Excel数据

在宏编辑界面中进行SQL数据查询以及生成报表的代码如下:
Sub Static()
Dim objNewWorkbook As Workbook '定义一个Workbook对象
Set objNewWorkbook = Workbooks.Add(ThisWorkbook.Path & "\模板.xlt") '使用模板文件新建一个EXCEL报表生成文件
Set objConnection = CreateObject("ADODB.Connection") '创建一个ADO连接
objConnection.Open "Provider=Microsoft.Jet.Oledb.4.0;Extended Properties='Excel 8.0;Hdr=yes;Imex=1';Data Source=" & ThisWorkbook.FullName '设置连接字符串
strCommand = "select 施工人, count(*) as 拆电话 from [" & Sheet1.Name & "$] where 施工动作 = '拆' and 专业类型 = '电话' group by 施工人" '查询表单一中的数据源进行统计
?objNewWorkbook.Sheets(1).Range("A3").CopyFromRecordset objConnection.Execute(strCommand)
2.将查询统计结果输出到目的报表文件的表单1的从A3开始的区域中
3.下面代码是调用EXCEL的排序方式进行汉字排序,这里SQL语句中的排序对于汉字排序与期望结果不同
4.使用EXCEL中的排序方法是根据EXCEL版本不同调用有所区别
Select Case Application.Version
Case "11.0":
objNewWorkbook.Sheets(1).Range("A3:M" & CStr(intSumRow - 1)).Sort Key1:=objNewWorkbook.Sheets(1).Range("A3"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
:=xlPinYin, DataOption1:=xlSortNormal
Case "12.0":
objNewWorkbook.Sheets(1).Sort.SortFields.Clear
objNewWorkbook.Sheets(1).Sort.SortFields.Add Key:=Range("A3:A" & CStr(intSumRow - 1)), SortOn:=x

⑷ EXCEL 查询SQL2005数据,select语句怎么调用excel表格的文本

要用VBA做。

这是我以前写的例子:

SubTT()
Setconn=NewADODB.Connection
Setrs=NewADODB.Recordset
Sheet1.Cells.Clear
Sheet3.[B8]=""
conn.ConnectionString="Driver={sqlserver};server="&Sheet3.[B2]&";uid="&Sheet3.[B3]&";pwd="&Sheet3.[B4]&";database="&Sheet3.[B5]
conn.Open
Sheet3.[B8]="连接成功!"
rs.OpenSheet3.[B6].Value,conn,adOpenKeyset,adLockPessimistic,adCmdText
rs.MoveLast
l=rs.RecordCount
Sheet3.[B9]=l
n=3
Fori=1Tol
IfTrim(rs.Fields("字段1"))<>"字段1"Then
Sheet1.Cells(n,"A")=Trim(rs.Fields("字段1"))
n=n+1
Else
Sheet1.Cells(n,"B")=Trim(rs.Fields("字段2"))
n=n+1
EndIf
Next
EndSub

⑸ 如何用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

⑹ sql语言中 select 结果如何直接存为excel文件

给学弟一个很简单的处理办法!!!
先写一个SQL文件,文件名为:1.sql ,内容如下:
use DB_PACKAGE(你要使用的数据库)goselect * from BAG_INDEX_TAB(你要使用的表或者SQL语句)go然后在CMD窗口中执行如下命令(两种方法均可,导出文件为111.xls):
1、isql -Usa -P -Sxb5 -w100000 -i1.sql 111.xls
2、isql -Usa -P -Sxb5 -w100000 -i1.sql -o 111.xls
当然,导出文件扩展名虽然为XLS,但实质仍然是文本文件。但这并不会妨碍EXECL对文件进行处理和保存。其中-w参数是指导输出宽度,默认为80个字符。如果列表太多超限会自动折行。
当然,你也可以将上述命令行写进BAT批处理文件中,执行起来会更方便一些。

⑺ 如果excel中想使用sql语句怎么使用

excel中使用sql语句,使用快捷键alt+d+d+d调出链接表的对话框,选择你要连接的表,然后确定,在编辑查询命令文本中要写sql语句,sql在excel中使用的是select语句。其实使用select主要是对数据的查询和汇总,汇总时输入聚合函数。总之有许多的知识需要学习,你可以在网上查阅一下sql
select语句的具体知识。

⑻ 如何用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

⑼ 如何用SQL语句查询Excel数据

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的select from语句

单纯的如上的语句是不能执行的,你必须配上一系列的打开数据库的操作(譬如vb),而后编译成exe文件,链接到任何地方都能执行。