我的iPad只有在亮屏的时候才能充电快的方法

我要文库申报
查看: 8479|回复: 2
如何用SQL语句将SQL SERVER数据导出到Excel文件中?
联系方式:请发站内消息给站长 apolloh
网站名称: Excel技巧网 | Excel专家栖息谷 | 微软中文技术社区合作伙伴
署名作者: apolloh
版权声明: 版权归本站与作者共有 除本站官方外非作者本人转载须经许可并注明出处
适用版本: 03以前版本&
语言环境: 简体中文
学习方法: 掌握Excel技巧的关键是动手操作
下载 ≠ 知识
免费注册成为本站会员,享用更多功能,结识更多Office办公高手!
才可以下载或查看,没有帐号?
Q:如何用SQL语句将SQL SERVER数据导出到Excel文件中?
A:下列方法可将SQL数据导出的Excel中。
1、导入到一个存在的Excel文件,且表头已经设置:insert into OPENROWSET('MICROSOFT.ACE.OLEDB.12.0','Excel 12.0;HDR=YES;DATABASE=c:\book1.xlsx',sheet1$) select * from 表复制代码2、导入为新文件:
EXEC master..xp_cmdshell 'bcp 数据库名.dbo.表名 out &c:\book1.xls& /c -/S&服务器名& /U&用户名& -P&密码&'复制代码或
EXEC master..xp_cmdshell 'bcp &SELECT * FROM 数据库名.dbo.表名 ORDER BY 某字段& queryout &c:\book1.xls& /c -/S&服务器名& /U&用户名& -P&密码&'复制代码
学office,哪能不关注全网最大的Office类微博(新浪)
中级三, 积分 1293, 距离下一级还需 157 积分
积分学习力
魅力值 影响力
消费券 Ti币好友
在线时间 小时
最后登录月度优秀 次
一头雾水啊,能否以实例说明呢?
学office,哪能不关注全网最大的Office类微博(新浪)
积分学习力
魅力值 影响力
消费券 Ti币好友
在线时间 小时
最后登录月度优秀 次管理次数 次
下一个挖掘点ADO
学office,哪能不关注全网最大的Office类微博(新浪)
Excel技巧网的会员探讨问题仅代表其个人意见,与网站的立场无关。任何违反国家和地方相关法律法规的言论,本站有义务协助政府相关部门追究发言者的责任!
本站中非注明转载文章与案例的版权为作者与Excel技巧网共有。若非原文作者,本站之外任何单位或个人未经允许,不得将其用于商业用途。
若非原文作者,任何形式的非商业性转载必须获得Excel技巧网或作者允许,并注明作者和出处。
会员发表的帖子如涉及版权纠纷,须自行负责。详情请参考注册时的网站服务条款。
本站特聘法律顾问:沈学律师
Powered by西西软件下载最安全的下载网站、值得信赖的软件下载站!
→ Sql Server 数据库表查询结果导出为excel文件
相信大家常常会遇到将SqlServer查询结果导出到Excel的问题。如果导出的次数少,直接“Save Results As...”就是了;1.1准备好查询语句1.2选择,启动导入和导出向导1.3选择数据源1.4选择目标1.51.61.71.8后续步骤不再附图,一直点“下一步”按钮就好。2、但是当要分别在每个表取样,那就相当麻烦了。今天就为大家提供一个脱离office组件的可以将语句结果导出到Excel的过程,希望会对大家有帮助!---导出到Excel---使用说明:--&&&&&&& 1.执行时所连接的服务器决定文件存放在哪个服务器--&&&&&&& 2.远程查询语句中,要加上数据库名ALTER PROC ExportFile &&&& @QuerySql VARCHAR(max) &&& ,@Server VARCHAR(20) &&& ,@User VARCHAR(20) &&& ,@Password VARCHAR(20) &&& ,@FilePath NVARCHAR(100) = 'c:\ExportFile.xls'AS&&& DECLARE @tmp VARCHAR(50) = '[##Table' + CONVERT(VARCHAR(36),NEWID())+']'&&& BEGIN TRY&&&&&&& DECLARE @Sql VARCHAR(max),@DataSource VARCHAR(max)='';&&&&&&& --判断是否为远程服务器&&&&&&& IF @Server && '.' AND @Server && '127.0.0.1'&&&&&&&&&&& SET @DataSource = 'OPENDATASOURCE(''SQLOLEDB'',''Data Source='+@Server+';User ID='+@User+';Password='+@Password+''').'&&&&&&& --将结果集导出到指定的数据库&&&&&&& SET @Sql = REPLACE(@QuerySql,' from ',' into '+@tmp+ ' from ' + @DataSource)&&&&&&& PRINT @Sql&&&&&&& EXEC(@Sql)&&&&&&& &&&&&&& DECLARE @Columns VARCHAR(max) = '',@Data NVARCHAR(max)=''&&&&&&& SELECT @Columns = @Columns + ',''' + name +''''--获取列名(xp_cmdshell导出文件没有列名)&&&&&&&&&&& ,@Data = @Data + ',Convert(Nvarchar,[' + name +'])'--将结果集所在的字段更新为nvarchar(避免在列名和数据union的时候类型冲突)&&&&&&& FROM tempdb.sys.columns WHERE object_id = OBJECT_ID('tempdb..'+@tmp)&&&&&&& SELECT @Data& = 'SELECT ' + SUBSTRING(@Data,2,LEN(@Data)) + ' FROM ' + @tmp&&&&&&& SELECT @Columns =& 'Select ' + SUBSTRING(@Columns,2,LEN(@Columns))&&&&&&& --使用xp_cmdshell的bcp命令将数据导出&&&&&&& EXEC sp_configure 'xp_cmdshell',1&&&&&&& RECONFIGURE&&&&&&& DECLARE @cmd NVARCHAR(4000) = 'bcp &' + @Columns+' Union All ' + @Data+'& queryout ' + @FilePath + ' -c -T'&&&&&&& PRINT @cmd&&&&&&& exec sys.xp_cmdshell @cmd&&&&&&& EXEC sp_configure 'xp_cmdshell',0&&&&&&& RECONFIGURE&&&&&&& EXEC('DROP TABLE ' + @tmp)&&& END TRY&&& BEGIN CATCH&&&&&&& --处理异常&&&&&&& IF OBJECT_ID('tempdb..'+@tmp) IS NOT NULL&&&&&&&&&&& EXEC('DROP TABLE ' + @tmp)&&&&&&& EXEC sp_configure 'xp_cmdshell',0&&&&&&& RECONFIGURE&&&&&&& &&&&&&& SELECT ERROR_MESSAGE()&&& END CATCH先不要着急使用,该版本是基于xp_cmdshell的,因为要创建文件,所以要保证你的用户能有文件管理的权限,通常简单点的方法就是将sql server的启动用户设置为本地系统用户好了,现在我们来执行看看:--查询分析器连接哪个服务器,文件就在哪个服务器上
--本地导出
EXEC dbo.ExportFile @QuerySql = 'select * from sys.objects', -- varchar(max)
@Server = '.', -- varchar(20)
@FilePath = N'c:\objects.xls' -- nvarchar(100)
--远程导出
EXEC dbo.ExportFile @QuerySql = 'select * from master.sys.objects', -- varchar(max)
@Server = '192.168.1.52', -- varchar(20)
@User = 'sa', -- varchar(20)
@Password = 'sa', -- varchar(20)
@FilePath = N'c:\52objects.xls' -- nvarchar(100)执行结果如下,显示导出条数,就没有报错,再看看你的C盘,多了2个文件就大功告成了:
08-3008-2607-1107-1105-2205-2204-2603-0901-1201-12
阅读本文后您有什么感想? 已有23人给出评价!
名称大小下载查看:3535|回复:9
求导出表格的语句。
SQL SERVER 和EXCEL的数据导入导出
1、在SQL SERVER里查询Excel数据:
SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source=&c:\book1.xls&;User ID=APassword=;Extended properties=Excel 5.0')[Sheet1$]
实例: select * into tbl_pppp FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0','Data Source=&d:\1.xls&;User ID=Password=;Extended properties=Excel 5.0')...[新增$]将1.xls文件的[新增$]表读取出来,并且插入到sql里tbl_pppp表,这个表不需要新建,直接生成
下面是个查询的示例,它通过用于 Jet 的 OLE DB 提供程序查询 Excel 电子表格。
SELECT * FROM OpenDataSource ( 'Microsoft.Jet.OLEDB.4.0','Data Source=&c:\Finance\account.xls&;User ID=APassword=;Extended properties=Excel 5.0')xactions
2、将Excel的数据导入SQL server :
SELECT * into newtable FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source=&c:\book1.xls&;User ID=APassword=;Extended properties=Excel 5.0')[Sheet1$]
SELECT * into newtable FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source=&c:\Finance\account.xls&;User ID=APassword=;Extended properties=Excel 5.0')xactions
3、将SQL SERVER中查询到的数据导成一个Excel文件
T-SQL代码:
EXEC master..xp_cmdshell 'bcp 库名.dbo.表名out c:\Temp.xls -c -q -S&servername& -U&sa& -P&&'
参数:S 是SQL服务器名;U是用户;P是密码
说明:还可以导出文本文件等多种格式
测试过的:EXEC master..xp_cmdshell 'bcp &SELECT orderno,joinno FROM shop.dbo.tbl_order ORDER BY joinno& queryout &C:\ ors.xls& -c -S&5& -U&sa& -P&123&'
带查询条件的导出语句
测试通过的不带查询条件的将整个表导出EXEXL文件的
EXEC master..xp_cmdshell 'bcp shop.dbo.tbl_city out c:\8881.xls -c -q -S&5& -U&sa& -P&123&'
将shop数据库里的tbl_city表导出为XLS格式的
实例:EXEC master..xp_cmdshell 'bcp saletesttmp.dbo.CusAccount out c:\temp1.xls -c -q -S&pmserver& -U&sa& -P&sa&'
EXEC master..xp_cmdshell 'bcp &SELECT au_fname, au_lname FROM pubs..authors ORDER BY au_lname& queryout C:\ authors.xls -c -Sservername -Usa -Ppassword'
在VB6中应用ADO导出EXCEL文件代码:
Dim cn&&As New ADODB.Connection
cn.open &Driver={SQL Server};Server=WEBSVR;DataBase=WebMUID=WD=123;&
cn.execute &master..xp_cmdshell 'bcp &SELECT col1, col2 FROM 库名.dbo.表名& queryout E:\DT.xls -c -Sservername -Usa -Ppassword'&
4、在SQL SERVER里往Excel插入数据:
insert into OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source=&c:\Temp.xls&;User ID=APassword=;Extended properties=Excel 5.0')table1 (A1,A2,A3) values (1,2,3)
T-SQL代码:
INSERT INTO
OPENDATASOURCE('Microsoft.JET.OLEDB.4.0','Extended Properties=Excel 8.0;Data source=C:\training\inventur.xls')[Filiale1$]&&(bestand, produkt) VALUES (20, 'Test')
热心广援!
感谢!!不过导出的excel只有数据,没有列名,能把列面写进去吗?怎么调整格式?
使用导入导出工具
在导出的时候选择导出列名既可,格式这个好像除了数据类型其他的不能设置吧。
是要用语句,所以才问的。用上面给出的代码在代理里可以实现,但是没有列名,只有数据。
版主,你怎么解决的,教教我,我也要将表中的数据导出到excel中。我是想在vc程序中导出。可以用这个吗?怎么用?4、在SQL SERVER里往Excel插入数据:
insert into OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source=&c:\Temp.xls&;User ID=APassword=;Extended properties=Excel 5.0')table1 (A1,A2,A3) values (1,2,3)
T-SQL代码:
INSERT INTO
OPENDATASOURCE('Microsoft.JET.OLEDB.4.0','Extended Properties=Excel 8.0;Data source=C:\training\inventur.xls')[Filiale1$]&&(bestand, produkt) VALUES (20, 'Test')
引用:原帖由 心疼包 于
17:00 发表
版主,你怎么解决的,教教我,我也要将表中的数据导出到excel中。我是想在vc程序中导出。可以用这个吗?怎么用?4、在SQL SERVER里往Excel插入数据:
insert into OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source=&c: ... 2011年的贴竟然被挖出来了。
VC有自己的控件,上面都是在SQL语句里实现的方式,当然VC也可以调用SQL语句
SQL Server MCITP, MVP, MCT, DBA
引用:原帖由 seusoftware 于
09:07 发表
2011年的贴竟然被挖出来了。
VC有自己的控件,上面都是在SQL语句里实现的方式,当然VC也可以调用SQL语句 版主 请教教我怎么导出来的资料把前面的0都删掉了,怎么自动删除导出来资料前面的0
比如是数据库里面是0001&&导出到excel就变成了1了 怎么不自动删掉前面的0
引用:原帖由 luowei1q 于
17:48 发表
版主 请教教我怎么导出来的资料把前面的0都删掉了,怎么自动删除导出来资料前面的0
比如是数据库里面是0001&&导出到excel就变成了1了 怎么不自动删掉前面的0 ... 你用的什么方式导的?变成1了应该是数据类型设置的问题吧?
SQL Server MCITP, MVP, MCT, DBA
小微企业IT帮
还可以用POWERSHELL调用。嘿嘿。
SQL Server 2008 MCITP | SQL Server 2012 MCSE | SQL Server MVP | MySQL 5.6 OCP | Oracle 11g OCPOffice中国(office-cn.net),专业Office论坛
当前位置: >
导入导出Excel(.Xlsx)或(.Xls)数据到SQL Server
时间: 23:33 来源:Office中国 作者:Access中国录入员 阅读:次
select excel2007 格式数据的语法
导入/导出 Excel (.Xlsx) 或 (.Xls) 文件数据到 SQL Server&
1.导入/导出 Excel (.xls) 需要 Microsoft.Jet.OLEDB.4.0&
2.导入/导出 Excel 2007 (.xlsx) 需要 2007 Office System Driver: (数据连接控件)Data Connectivity Components. 可以从网上下载
-----Office中国的 tmtony &翻译 &
一. 导出数据到Excel文件
& & & &创建一个个EXEL文件 名称为 testing ,它拥有与sql server表 SQLServerTable 同样的字段
以下是查询语句
Excel 2003 (.Xls) 文件:
insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=D:testing.', 'SELECT * FROM [Sheet1$]') select * from SQLServerTable
Excel 2007 (.Xlsx) 文件:
insert into OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=D:testing.', 'SELECT * FROM [Sheet1$]') select * from SQLServerTable
二. 从 Excel 导入数据到 SQL Server 新表
Excel 2003 (.Xls) 文件:
select * into SQLServerTable FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=D:testing.HDR=YES', 'SELECT * FROM [Sheet1$]')
Excel 2007 (.Xlsx) 文件:
Select * into SQLServerTable FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=D:testing.HDR=YES', 'SELECT * FROM [Sheet1$]')
三. 从 Excel 导入数据到 SQL Server 已存在的表
Excel 2003 (.Xls) 文件:
Insert into SQLServerTable Select * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=D:testing.HDR=YES', 'SELECT * FROM [Sheet1$]')
Excel 2007 (.Xlsx) 文件:
INSERT INTO SQLServerTable select * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=D:testing.HDR=YES', 'SELECT * FROM [Sheet1$]')
四.从 Excel 导入数据到 SQL Server 新表 (使用动态的表名 如SQLTABLE_) & (http://www.office-cn.net)
DECLARE @table varchar(500)
DECLARE @Q varchar(2000 )
SET @table='SQLTABLE_' +(CONVERT(VARCHAR(8),GETDATE(),112))
SET @Q= 'select * into '+ @table + ' FROM OPENROWSET(&Microsoft.ACE.OLEDB.12.0&, &Excel 12.0;Database=D:testing.HDR=YES&, &SELECT * FROM [Sheet1$]&)'
(责任编辑:admin)

我要回帖

更多关于 手机外屏怎么换 的文章

 

随机推荐