添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

--下面的存储过程可以导出数据为真正的excel文件

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]

/*--数据导出EXCEL

导出表中的数据到Excel,包含字段名,文件为真正的Excel文件

,如果文件不存在,将自动创建文件

,如果表不存在,将自动创建表

基于通用性考虑,仅支持导出标准数据类型

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

/*--调用示例

p_exporttb @tbname='地区资料',@path='c:',@fname='aa.xls'

create proc p_exporttb

@tbname sysname, --要导出的表名

@path nvarchar(1000), --文件存放目录

@fname nvarchar(250)='' --文件名,默认为表名

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="'+@sql+'";DBQ='+@sql

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

/*--如果覆盖已经存在的表,就加上下面的语句

--创建之前先删除表/如果存在的话

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 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 syscolumns a left join systypes b on a.xtype=b.xusertype

where b.name not in('image','uniqueidentifier','sql_variant','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 8.0;HDR=YES;IMEX=1

;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

转载:http://blog.csdn.net/atian2009/article/details/6758784

EXEC xp_cmdshell ' sql cmd -E -Q "select * from IPVA_Builder..Build_GetCsvResLog" -o E:\123\Build_GetCsvResLog.csv ' /****** Object: StoredProcedure [dbo].[user_ExportDataCSV] Script Date: 06/18/201 将查询结果集直接 导出 excel 文件中(包含 表头 ,别名不能包含'('),通过 SQL Server数据库内置对象提高数据 导出 速率(事理 2011.5) exec proc_ExportDataTo Excel '.\ SQL 2005','OA','asdfef85','','selec... SQL 导出 数据表格怎么让列头 中文注释实现步骤:1. 查询数据表, 导出 为csv文件。2. 导出 列注释信息3.csv文件中添加中文名称行(也可代码处理)3.1 先粘贴到任意位置,然后右键复制3.2 在英文字段下新增一行,右键【选择性粘贴】,选择【转置】。大功告成 我们在处理数据时,表结构复杂的情况下,通常需要将列的英文名称与列的中文注释所对应,如下图: 实现步骤: 1. 查询数据表, 导出 为csv文件。 方法1:navicat 导出 表 方法2:datagrip 导出 表 方法3:代码读取(python-panda 一、‘xp_cmdshell’的启用 SQL Server阻止了对组件‘xp_cmdshell’的 过程 ‘sys.xp_cmdshell’的访问。因为此组件已作为此服务嚣安全配置的一部分而被关 闭。系统管理员可以通过使用sp_configure启用‘xp_cmdshell’。有关启用‘xp_cmdshell’的详细信息 解决方法: 1、通过 SQL 语句开启。[推荐此方法,因为在任何版本的 SQL ... 1. SQL yog Ultimate官方版是一款使用相当简单、功能极为强大的数据库管理软件。十几兆很快就能下好:下载地址 2.打开之后先新建连接,然后输入my sql 设置的密码,建立连接即可。这一点与其他的图形界面软件一致。 3.在下图左边的新连接这一栏里,右键创建数据库,然后双击名字选中这个数据库 4.点击画红圈的这个执行 sql ,选择要执行的文件 5.执行完后,展开数据库下面的表,发现表h,右键打开表。 6.在右下角这一栏里就是打开的表,在这一栏任意位置右键,选择 导出 表中的所有数据行。 7.选择csv格 在SSMS( SQL Server Management Studio)中,在复制或保存结果时可以包括列标题。在查询结果的网格窗口,在右键菜单中选择“连同标题一起复制”,即可在复制时包括列标题。但是,在右键菜单中选择“将结果另存为”时,输出结果时默认不包括列标题。解决方案:打开“工具”-“选项”,在“查询结果”-“ SQL Server”-“以网络显示结果”的选项中勾选“在复制或保存结果时包括列标题”... 1.使用数据库操作进行数据 导出 优点:可以自己编写 sql ,比较灵活,可以输出想要的字段 缺点:因 Excel 版本不同, 导出 的数据条数有上限,单表超过65535条数据,多的数据就无法正常 导出 。 数据库名—右键任务— 导出 数据 输入数据库ip,用户名,密码,选择需要 导出 数据的数据库 选择要 导出 Excel 及版本 选择 导出 模式 单表 导出 、使用 sql 导出 ,选择完毕之后,点击下一步即可 2.使用 Excel 进行数据 导出 优点:单表 --首选需要确保已经启用xp_cmdshell --启用命令如下,也可以通过外围应用程序配置器启用 ------------------------------------------------------------------------------- -- 允许配置高级选项 EXEC sp_configure 'show advanced options', 1 GO --... 前几天在项目中遇到一个问题,需要从 SQL Server 导出 表到 Excel ,但需要 列名。晚上尝试了几种方法,并作个小结。假定表如下:USEtestDb2GOIF NOT OBJECT_ID('Demo_A') IS NULLDROP TABLE [Demo_A]/****** Object: Table [dbo].[Demo_A] downmoon:3w@live.cn ******/CREAT... exec master..xp_cmdshell 'bcp "SELECT dd FROM ggg..Table1 " queryout "c:\Authors.xls" -c -q -U"sa" -P"111111"' 用 存储 过程 导出 excel 有一个缺点,字段名无法 导出 可以如此生成 Excel : set @cmd='bcp '+数据库+'.dbo.'+数据表名+' out '+... --更新使用sp_configure系统 存储 过程 更改的配置选项的当前已配置值(sp_configure结果集中的config_value列)。 --由于有些配置选项需要服务器停止并重新启动才能更新当前运行的值,因此RECONFIGURE并不总是为已更改的配置值更新当前运行的值(sp_configure结果集中的run_value列)。 RECONFI...