如何把SQLServer表数据导出为Excel文件 如何把SQLServer表数据导出为Excel文件

作者&投稿:连怎 (若有异议请与网页底部的电邮联系)

1、首先打开软件,可以看到,数据库中有一张student表,现在要把这张表中的数据导出成excel文件。

2、在这张表上右击,选择“Export”,再选择“Export Table Data as CSV,SQL,Excel etc ... ”。

3、然后在导出配置页面中,选择“Excel XML”类型。

4、然后点击下面的三个点按钮,选择导出路径。

5、输入文件名,点击“保存”。

6、然后将文件的后缀名改成"xls",点击“Export”。

7、就是我们导出的excel文件。



SQLServer表数据导出为Excel文件

一、少量数据导出

1、在查询分析器中,使用SQL语句检索要导出的数据

2、选中所有数据,点击鼠标右键,选择另存为CSV文件

3、用EXCEL把CSV文件另存为xls文件。

二、表格批量导出

1、开始菜单选择"导入和导出数据"

2、选择要导出的数据库,如图配置

3、设置导出目标

4、设置目标文件

5、选择筛选数据发送

6、选择导出的表格

7、完成设置



1、打开SQL
Server
Management
Studio,然后找到相应的数据库
2、右键点击数据库名称,然后点选“任务-->导出数据”
3、弹出"导入和导出向导"界面后,点击【下一步】按钮,进入"选择数据源"界面。“数据源”和“服务器名称”采用默认值,“身份验证”默认使用Windows身份验证,可选择“使用SQL
Server身份验证”方式进行验证。“数据库”需要选择为要导出数据的目标数据库。
4、点击【下一步】,进入"选择目标"界面。默认目标为“SQL
Native
Client”,需要将目标进行重新选择为“Microsoft
Excel”。然后选择导出位置(即“Excel文件路径”),并命名一个导出文件名。
5、点击【下一步】,进入"指定表复制或查询"界面。在该界面,可以选择数据导出模式,如果需要通过SQL查询语句精确导出部分数据,则选择“编写查询以指定要传输的数据”导出方式
6、如果选择的是第二种导出方式,则点击【下一步】按钮,进入“提供源查询”界面。在SQL语句栏中,输入查询条件,然后点击【分析】按钮检验SQL语句是否正确有效,如果分析显示“此SQL语句有效”,则可以继续执行下一步操作。
7、点击【下一步】,进入“选择源表和源视图”界面。继续点击【下一步】按钮,进入“保存并执行包”界面。在该界面,点击【下一步】按钮,然后点击【完成】按钮,开始执行数据导出操作。在执行结束后,即可在相应导出位置找到导出的Excel数据文件。



目前主要提到了三种办法,一种在程序中调用DTS,二种使用SQL SERVER带的BCP功能,三种使用openrowset。
具体看下面:
这是利用BCP来做的,

使用SQLServer自带的bcp命令——
bcp 数据库名.dbo.表名 out 文件名 –c –q –S”服务器名” –U”用户名” –P”密码”
bcp ”select 语句” queryout 文件名 –c –q –S”服务器名” –U”用户名” –P”密码”

导出整张表:
EXEC master..xp_cmdshell 'bcp "inter_custom.dbo.out_ck1" out c:\Temp.xls -c -q -S"PETER" -U"sa" -P"davey@citiz.net"'

根据Query语句导出:
EXEC master..xp_cmdshell 'bcp "select * from inter_custom.dbo.out_ck1" queryout c:\Temp.xls -c -q -S"PETER" -U"sa" -P"davey@citiz.net"'
利用bcp要求数据库的服务器名,数据库用户名和密码,这些必须传到程序中。方法可以有很多中,大概的例子,可以看:
http://www.cnblogs.com/kevin/archive/2004/09/21/45351.html

利用openrowset可以写存储过程,可以看下面的例子
引自CSDN的邹建大大

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_exporttb]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[p_exporttb]
GO

/*--数据导出EXCEL

导出查询中的数据到Excel,包含字段名,文件为真正的Excel文件
如果文件不存在,将自动创建文件
如果表不存在,将自动创建表
基于通用性考虑,仅支持导出标准数据类型

--邹建 2003.10(引用请保留此信息)--*/

/*--调用示例

p_exporttb @sqlstr='select * from 地区资料'
,@path='c:\',@fname='aa.xls',@sheetname='地区资料'
--*/
create proc p_exporttb
@sqlstr varchar(8000),--查询语句,如果查询语句中使用了order by ,请加上top 100 percent
@path nvarchar(1000),--文件存放目录
@fname nvarchar(250),--文件名
@sheetname varchar(250)=''--要创建的工作表名,默认为文件名
as
declare @err int,@src nvarchar(255),@desc nvarchar(255),@out int
declare @obj int,@constr nvarchar(1000),@sql varchar(8000),@fdlist varchar(8000)

--参数检测
if isnull(@fname,'')=''set @fname='temp.xls'
if isnull(@sheetname,'')='' set @sheetname=replace(@fname,'.','#')

--检查文件是否已经存在
if right(@path,1)<>'\' set @path=@path+'\'
create table #tb(a bit,b bit,c bit)
set @sql=@path+@fname
insert into #tb exec master..xp_fileexist @sql

--数据库创建语句
set @sql=@path+@fname
if exists(select 1 from #tb where a=1)
set @constr='DRIVER={Microsoft Excel Driver (*.xls)};DSN='''';READONLY=FALSE'
+';CREATE_DB="'+@sql+'";DBQ='+@sql
else
set @constr='Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties="Excel 8.0;HDR=YES'
+';DATABASE='+@sql+'"'

--连接数据库
exec @err=sp_oacreate 'adodb.connection',@obj out
if @err<>0 goto lberr

exec @err=sp_oamethod @obj,'open',null,@constr
if @err<>0 goto lberr

--创建表的SQL
declare @tbname sysname
set @tbname='##tmp_'+convert(varchar(38),newid())
set @sql='select * into ['+@tbname+'] from('+@sqlstr+') a'
exec(@sql)

select @sql='',@fdlist=''
select @fdlist=@fdlist+',['+a.name+']'
,@sql=@sql+',['+a.name+'] '
+case
when b.name like '%char'
then case when a.length>255 then 'memo'
else 'text('+cast(a.length as varchar)+')' end
when b.name like '%int' or b.name='bit' then 'int'
when b.name like '%datetime' then 'datetime'
when b.name like '%money' then 'money'
when b.name like '%text' then 'memo'
else b.name end
FROM tempdb..syscolumns a left join tempdb..systypes b on a.xtype=b.xusertype
where b.name not in('image','uniqueidentifier','sql_variant','varbinary','binary','timestamp')
and a.id=(select id from tempdb..sysobjects where name=@tbname)

if @@rowcount=0 return

select @sql='create table ['+@sheetname
+']('+substring(@sql,2,8000)+')'
,@fdlist=substring(@fdlist,2,8000)

exec @err=sp_oamethod @obj,'execute',@out out,@sql
if @err<>0 goto lberr

exec @err=sp_oadestroy @obj

--导入数据
set @sql='openrowset(''MICROSOFT.JET.OLEDB.4.0'',''Excel 8.0;HDR=YES
;DATABASE='+@path+@fname+''',['+@sheetname+'$])'

exec('insert into '+@sql+'('+@fdlist+') select '+@fdlist+' from ['+@tbname+']')

set @sql='drop table ['+@tbname+']'
exec(@sql)
return

lberr:
exec sp_oageterrorinfo 0,@src out,@desc out
lbexit:
select cast(@err as varbinary(4)) as 错误号
,@src as 错误源,@desc as 错误描述
select @sql,@constr,@fdlist
go
从DataGrids中导出数据到Excel
DataSet结果导出到Excel
Export DataSets to Excel...
导出到Excel的四种方法
关于从net程序如何导出到excel微软的msdn有专门的讲述,在上面可以搜到。

工具/原料
SQLServer2005或者SQLServer2008、SQLServer2008 R2
方法/步骤
1
方法一:对于会写查询SQL语句的则是直接写查询语句查询出结果。如下图:

2
接下来到桌面新建一个空的excel文件。
接下来回到SQLServer查询界面。鼠标右键点击查询结果的左上角空白列,点击“连同标题一起复制”。则已复制好了数据。如下图:

3
接下来打开之前建好的Excel文件把复制好的数据黏贴到excel即可。如下图:

4
方法二:对于不会写查询SQL语句的则使用数据库导出方法。
选中要导出数据的数据库,点击右键会弹出一个右键菜单。点击“任务”再点击“导出数据(x)”。如下图:

5
点击了“导出数据(x)”后会弹出一个界面,并填写好信息。如下图:

6
点击下一步跳转到如下图1中的界面。在目标中选中excel类型,界面信息则发生改变,并选中导出的excel路径。如下图2。

7
点击下一步跳转至如下界面,选中第一个选项。如下图:

8
点击下一步,勾选要导出的表。如下图:

9
点击下一步,跳转至如下界面:

10
点击下一步:跳转到如下图1界面,选择下一步在点击完成,则会跳到如下图2界面。证明已经导出成功了。

11
打开excel就可用看到导出的Excel了。

如何把SQLServer表数据导出为Excel文件~

在SQL数据库的很多应用场景中,需要将SQL中的某个数据库或查询的结果导出到EXCEL中,因为Excel更容易对数据处理和方便用户邮箱传输。本次经验归纳了SQL数据表导出到EXCEL中的三种方法:
1、复制粘贴,将SQL查询语句按指定条件导出数据;——适合小量数据。
2、导出完整的SQL数据表为Excel文件;——适合大量数据。
3、定时自动导出指定SQL数据表为Excel文件;——适合大量数据。
其它:DTS数据转换服务导入导出向导或者DTS设计器创建DTS包;

SQLServer数据批量导入的几种方式
答:下一步选择目标数据源选择我们的SQLServer根据需要一直点下一步,需要注意在选择表和数据源页面,根据实际需要选择对应的表,以及编辑列的映射,最后点击完成,导入数据。2.循环调用插入语句、或存储过程此方法就是调用写好的sql语句或存储过程来循环的插入数据导数据库;根据需要可以在读取文件数据后,对数据进行校验和加工。

如何将SQLSERVER上的数据插入到ORACLE上
答:注意:因为oracle的表名都是大写的,而SQL的表可能是大小混写的,所以导入后在oracle里查不到该表,比如这个Products表在oracle里查询就应该写成select * from scott."Products";为了方便查询可以通过批量修改表名为大写以便后面导数据的工作。---导完数据后执行下面语句,生成把表名修改成大写的操作...

如何把sqlserver数据迁移到mysql数据库及需要注意事项
答:在项目开发中,有时由于项目开始时候使用的数据库是SQL Server,后来把存储的数据库调整为MySQL,所以需要把SQL Server的数据迁移到MySQL。下面是小编日常整理的一种sqlserver数据库迁移的方法。一、SQL Server中常用数据类型与MySQL不同的地方 二、将SQL Server数据迁移到MySQL需要注意的一些问题 1、唯一索引...

如何把SQLServer表数据导出为Excel文件
答:1、少量数据,直接在查询分析器中用SQL语句检索出数据,选定数据,点击鼠标右键可以直接另存为。2、批量数据,可以使用服务器附带的,DTS数据导入导出工具。

如何把sqlserver数据迁移到mysql数据库及需要注意事项
答:在本评测前,本人的一位资深同事曾经从网上下载了某款迁移软件,把一个大约2500万记录数的数据表转送到阿里云 MySQL,结果经过了三天三夜(好在其中两天是星期六和星期日两个休息日)都未能迁移过来。因此这一次需要对这四个工具的处理速度作一个详细的测试。考虑到从 SQL Server 迁移到 MySQL 会出现...

如何把SQLServer表数据导出为Excel文件
答:1.数据库上右键,任务,导出数据 2.选择需要导出的数据源 3.选择导出数据源为EXCEL,填写文件地址,格式等 4.一直下一步,完成导出。

如何把SQLServer表数据导出为Excel文件
答:SQLServer表数据导出为Excel文件方法:1、选择数据库,启动导入和导出向导 2、选择数据源 3、选择目标 4、然后一直点“下一步”按钮即可

SqlServer 2008数据库 怎么样导出Excel表格数据
答:sqlserver2008在查询结果处直接右键就可以保存excel的表格数据,但是是csv格式,同样可用excel打开。工具:SQL Server Managerment Studio步骤:1、先根据要导出的内容写出相应的sql语句,如图:2、在查询结果处点右键,选择“将结果另存为”。3、弹出窗口中选好存放路径,起好文件名,然后格式选择“csv格式...

如何把sqlserver数据转移到MySql里
答:在本评测前,本人的一位资深同事曾经从网上下载了某款迁移软件,把一个大约2500万记录数的数据表转送到阿里云 MySQL,结果经过了三天三夜(好在其中两天是星期六和星期日两个休息日)都未能迁移过来。因此这一次需要对这四个工具的处理速度作一个详细的测试。考虑到从 SQL Server 迁移到 MySQL 会出现...

如何把sqlserver数据迁移到mysql数据库及需要注意事项
答:(注意:因为是点对点的数据导入,要求sql server 中要导出的数据库名称和要导入到Mysql 中的数据库的名字相同)点击创建好的目标数据库website点的”表“一项,在右边会出现导入向导选项。选择SQL Server数据库ODBC,“下一步”,数据链接属性-SQL SERVER ODBC 创建访问SQL SERVER ODBC。回到导入向导中...