乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 如何把SQLServer表数据导出为Excel文件

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

作者:乔山办公网日期:

返回目录:excel表格制作


将MS SQL 数据库导出到EXCEL 表中的方法步骤
  1、打开EXCEL 空白页,光标定位在A1,因为导出的数据是从光标开始覆盖。

  2、依次点击数据copy(繁体叫资料)→其它来源→从SQL Server

  3、在数据库服务器名称中输入服务器名称或者数据库服务器IP地址。如果是数据库就在本地或本地的windows账户有权限登录,可以直接用windows 账户登录。如果没有,请输入数据库用户名和密码。点击下一步。

  4、在这里选择数据库和表名后点击完成。

  5、如果是要导出整个表的数据,直接点击确定即可。如果只是导出部分表的数据,请点击内容。

  6、选择使用SQL语句,这样就可以有条件的取出数据,方便灵活。

  7、需要再次确认数据库的用户名和密码,点击确定后完成导出。



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

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

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

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

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

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

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


/*--数据导出EXCEL

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

/*--调用示例

p_exporttb @e799bee5baa6e4b893e5b19e339tbname='地区资料',@path='c:',@fname='aa.xls'
--*/
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

create proc p_exporttb
@tbname sysname, --要导出的表名
@path nvarchar(1000), --文件存放目录
@fname nvarchar(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=@tbname+'.xls'

--检查文件是否已经存在
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=" +';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

/*--如果覆盖已经存在的表,就加上下面的语句
--创建之前先删除表/如果存在的话
select @sql='drop table ['+@tbname+']'
exec @err=sp_oamethod @obj,'execute',@out out,@sql
--*/

--创建表的SQL
select @sql='',@fdlist=''
select @fdlist=@fdlist+',['+a.name+']'
,@sql=@sql+',['+a.name+'] '
+case when b.name in('char','nchar','varchar','nvarchar') then
'text('+cast(case when a.length>255 then 255 else a.length end as varchar)+')'
when b.name in('tynyint','int','bigint','tinyint') then 'int'
when b.name in('smalldatetime','datetime') then 'datetime'
when b.name in('money','smallmoney') then 'money'
else b.name end
FROM syscolumns a left join systypes b on a.xtype=b.xusertype
where b.name not in('image','text','uniqueidentifier','sql_variant','ntext','varbinary','binary','timestamp')
and object_id(@tbname)=id
select @sql='create table ['+@tbname
+']('+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 5.0;HDR=YES
;DATABASE='+@path+@fname+''',['+@tbname+'$])'

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

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

ASP实例代码,直接将数据库中的数据导出到EXCEL电子表中7a686964616fe4b893e5b19e338

<!--#include file="../conn.asp"-->
<%  
dim s,sql,filename,fs,myfile,x  
Set fs = server.CreateObject("scripting.filesystemobject") 
'--假设你想让生成的EXCEL文件做如下的存放 
filename = Server.MapPath("users.xls") 
'--如果原来的EXCEL文件存在的话删除它 
if fs.FileExists(filename) then 
fs.DeleteFile(filename) 
end if 
'--创建EXCEL文件 
set myfile = fs.CreateTextFile(filename,true) 
 
'Set rs = Server.CreateObject("ADODB.Recordset") 
'--从数据库中把你想放到EXCEL中的数据查出来 
'sql = "select * from Tb_Execl order by id desc" 
'rs.Open sql,conn 
StartTime = Request("StartTime")
EndTime = Request("EndTime")
StartEndTime = "AddTime between #"& StartTime &" 00:00:00# and #"& EndTime &" 23:59:59#"

strSql = "select * from myeky_myusr "
Set rstData =conn.execute(strSql)
if not rstData.EOF and not rstData.BOF then 
 
dim trLine,responsestr 
strLine="" 
For each x in rstData.fields 
strLine = strLine & x.name & chr(9) 
Next 
 
'--将表的列名先写入EXCEL 
myfile.writeline strLine 
 
Do while Not rstData.EOF 
strLine="" 
 
for each x in rstData.Fields 
strLine = strLine & x.value & chr(9) 
next 
myfile.writeline strLine 
 
rstData.MoveNext 
loop 
 
end if 

Response.Write "生成EXCEL文件成功,点击<a href=""users.xls"" target=""_blank"">下载</a>!"

rstData.Close 
set rstData = nothing
Conn.Close
Set Conn = nothing
%>

相关阅读

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

  • 乔山办公网excel表格制作
  • 将MS SQL 数据库导出到EXCEL 表中的方法步骤  1、打开EXCEL 空白页,光标定位在A1,因为导出的数据是从光标开始覆盖。  2、依次点击数据copy(繁体叫资料)→其它来源→从SQL Server  
  • <em>excel</em>获取某一列对应的多列数据

  • 乔山办公网excel表格制作
  • 1、打开需要提取数据的Excel表格。百2、单击鼠标,选中需要提取的数据。3、菜单栏中选择“数据”,再选择“分列”。4、弹出的对话框中,点击“度下一步”。5、在“其他”前面的小
关键词不能为空
极力推荐

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