| 订阅 | 在线投稿
分享
 
 
当前位置: 王朝网络 >> mssql >> SQL Server dao chu biao dao EXCEL wen jian de cun chu guo cheng
 

SQL Server dao chu biao dao EXCEL wen jian de cun chu guo cheng

2008-07-12 07:37:35 编辑來源:互联网 评论
 
本文为【SQL Server导出表到EXCEL文件的存储过程】的拼音翻译版
  SQL Server dao chu biao dao EXCEL wen jian de cun chu guo cheng :
  *-- shu ju dao chu EXCEL
  dao chu biao zhong de shu ju dao Excel, bao han zi duan ming , wen jian wei zhen zheng de Excel wen jian
  , ru guo wen jian bu cun zai , jiang zi dong chuang jian wen jian
  , ru guo biao bu cun zai , jiang zi dong chuang jian biao
  ji yu tong yong xing kao lv , jin zhi chi dao chu biao zhun shu ju lei xing
  ---*/
  /**//*-- tiao yong shi li
  p_exporttb @tbname=' di qu zi liao ',@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, -- yao dao chu de biao ming , zhu yi zhi neng shi biao ming / shi tu ming
  @path nvarchar(1000), -- wen jian cun fang mu lu
  @fname nvarchar(250)='' -- wen jian ming , mo ren wei biao ming
  as
  declare @err int,@src nvarchar(255),@desc nvarchar(255),@out int
  declare @obj int,@constr nvarchar(1000),@sql varchar(8000),@fdlist varchar(8000)
  -- shen shu jian ce
  if isnull(@fname,'')='' set @fname=@tbname+'.xls'
  -- jian cha wen jian shi fou yi jing cun zai
  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
  -- shu ju ku chuang jian yu ju
  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 5.0;HDR=YES'
  +';DATABASE='+@sql+'"'
  -- lian jie shu ju ku
  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
  -- chuang jian biao de 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
  -- dao ru shu ju
  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 cuo wu hao
  ,@src as cuo wu yuan ,@desc as cuo wu miao shu
  select @sql,@constr,@fdlist
  go
  *-- shu ju dao chu EXCEL
  dao chu cha xun zhong de shu ju dao Excel, bao han zi duan ming , wen jian wei zhen zheng de Excel wen jian
  , ru guo wen jian bu cun zai , jiang zi dong chuang jian wen jian
  , ru guo biao bu cun zai , jiang zi dong chuang jian biao
  ji yu tong yong xing kao lv , jin zhi chi dao chu biao zhun shu ju lei xing
  --*/
  /**//*-- tiao yong shi li
  p_exporttb @sqlstr='select * from di qu zi liao '
  ,@path='c:',@fname='aa.xls',@sheetname=' di qu zi liao '
  --*/
  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
  @sqlstr sysname, -- cha xun yu ju , ru guo cha xun yu ju zhong shi yong le order by , qing jia shang top 100 percent, zhu yi , ru guo dao
  chu biao / shi tu , yong shang mian de cun chu guo cheng
  @path nvarchar(1000), -- wen jian cun fang mu lu
  @fname nvarchar(250), -- wen jian ming
  @sheetname varchar(250)='' -- yao chuang jian de gong zuo biao ming , mo ren wei wen jian ming
  as
  declare @err int,@src nvarchar(255),@desc nvarchar(255),@out int
  declare @obj int,@constr nvarchar(1000),@sql varchar(8000),@fdlist varchar(8000)
  -- shen shu jian ce
  if isnull(@fname,'')='' set @fname='temp.xls'
  if isnull(@sheetname,'')='' set @sheetname=replace(@fname,'.','#')
  -- jian cha wen jian shi fou yi jing cun zai
  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
  -- shu ju ku chuang jian yu ju
  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 5.0;HDR=YES'
  +';DATABASE='+@sql+'"'
  -- lian jie shu ju ku
  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
  -- chuang jian biao de 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 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 tempdb..syscolumns a left join tempdb..systypes b on a.xtype=b.xusertype
  where b.name not in
  ('image','text','uniqueidentifier','sql_variant','ntext','varbinary','binary','timestamp')
  and a.id=(select id from tempdb..sysobjects where name=@tbname)
  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
  -- dao ru shu ju
  set @sql='openrowset(''MICROSOFT.JET.OLEDB.4.0'',''Excel 5.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 cuo wu hao
  ,@src as cuo wu yuan ,@desc as cuo wu miao shu
  select @sql,@constr,@fdlist
  go【原文】【汉音对照
 
 
 
 
 
 
 
 
日版宠物情人插曲《Winding Road》歌词

日版宠物情人2017的插曲,很带节奏感,日语的,女生唱的。 最后听见是在第8集的时候女主手割伤了,然后男主用嘴帮她吸了一下,插曲就出来了。 歌手:Def...

兄弟共妻,我成了他们夜里的美食

老钟家的两个儿子很特别,就是跟其他的人不太一样,魔一般的执着。兄弟俩都到了要结婚的年龄了,不管自家老爹怎么磨破嘴皮子,兄弟俩说不娶就不娶,老父母为兄弟两操碎了心...

如何磨出破洞牛仔裤?牛仔裤怎么剪破洞?

把牛仔裤磨出有线的破洞 1、具体工具就是磨脚石,下面垫一个硬物,然后用磨脚石一直磨一直磨,到把那块磨薄了,用手撕开就好了。出来的洞啊很自然的。需要猫须的话调几...

我就是扫描下图得到了敬业福和爱国福

先来看下敬业福和爱国福 今年春节,支付宝再次推出了“五福红包”活动,表示要“把欠大家的敬业福都还给大家”。 今天该活动正式启动,和去年一样,需要收集“五福”...

冰箱异味产生的原因和臭味去除的方法

有时候我们打开冰箱就会闻到一股异味,冰箱里的这种异味是因为一些物质发出的气味的混合体,闻起来让人恶心。 产生这些异味的主要原因有以下几点。 1、很多人有这种习...

 
 
SQL Server dao chu biao dao EXCEL wen jian de cun chu guo cheng : *-- shu ju dao chu EXCEL dao chu biao zhong de shu ju dao Excel, bao han zi duan ming , wen jian wei zhen zheng de Excel wen jian , ru guo wen jian bu cun zai , jiang zi dong chuang jian wen jian , ru guo biao bu cun zai , jiang zi dong chuang jian biao ji yu tong yong xing kao lv , jin zhi chi dao chu biao zhun shu ju lei xing ---*/ /**//*-- tiao yong shi li p_exporttb @tbname=' di qu zi liao ',@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, -- yao dao chu de biao ming , zhu yi zhi neng shi biao ming / shi tu ming @path nvarchar(1000), -- wen jian cun fang mu lu @fname nvarchar(250)='' -- wen jian ming , mo ren wei biao ming as declare @err int,@src nvarchar(255),@desc nvarchar(255),@out int declare @obj int,@constr nvarchar(1000),@sql varchar(8000),@fdlist varchar(8000) -- shen shu jian ce if isnull(@fname,'')='' set @fname=@tbname+'.xls' -- jian cha wen jian shi fou yi jing cun zai 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 -- shu ju ku chuang jian yu ju 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="[url=mailto:]'+@sql+'";DBQ='+@sql[/url] else set @constr='Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties="Excel 5.0;HDR=YES' +';DATABASE='+@sql+'"' -- lian jie shu ju ku 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 -- chuang jian biao de 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 -- dao ru shu ju set @sql='openrowset(''MICROSOFT.JET.OLEDB.4.0'',''Excel 5.0;HDR=YES ;DATABASE='+@path+@fname+''',['+@tbname+'$])' exec('insert into [url=mailto:]'+@sql+'('+@fdlist+'[/url]) select [url=mailto:]'+@fdlist+'[/url] from [url=mailto:]'+@tbname[/url]) return lberr: exec sp_oageterrorinfo 0,@src out,@desc out lbexit: select cast(@err as varbinary(4)) as cuo wu hao ,@src as cuo wu yuan ,@desc as cuo wu miao shu select @sql,@constr,@fdlist go *-- shu ju dao chu EXCEL dao chu cha xun zhong de shu ju dao Excel, bao han zi duan ming , wen jian wei zhen zheng de Excel wen jian , ru guo wen jian bu cun zai , jiang zi dong chuang jian wen jian , ru guo biao bu cun zai , jiang zi dong chuang jian biao ji yu tong yong xing kao lv , jin zhi chi dao chu biao zhun shu ju lei xing --*/ /**//*-- tiao yong shi li p_exporttb @sqlstr='select * from di qu zi liao ' ,@path='c:',@fname='aa.xls',@sheetname=' di qu zi liao ' --*/ 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 @sqlstr sysname, -- cha xun yu ju , ru guo cha xun yu ju zhong shi yong le order by , qing jia shang top 100 percent, zhu yi , ru guo dao chu biao / shi tu , yong shang mian de cun chu guo cheng @path nvarchar(1000), -- wen jian cun fang mu lu @fname nvarchar(250), -- wen jian ming @sheetname varchar(250)='' -- yao chuang jian de gong zuo biao ming , mo ren wei wen jian ming as declare @err int,@src nvarchar(255),@desc nvarchar(255),@out int declare @obj int,@constr nvarchar(1000),@sql varchar(8000),@fdlist varchar(8000) -- shen shu jian ce if isnull(@fname,'')='' set @fname='temp.xls' if isnull(@sheetname,'')='' set @sheetname=replace(@fname,'.','#') -- jian cha wen jian shi fou yi jing cun zai 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 -- shu ju ku chuang jian yu ju 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="[url=mailto:]'+@sql+'";DBQ='+@sql[/url] else set @constr='Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties="Excel 5.0;HDR=YES' +';DATABASE='+@sql+'"' -- lian jie shu ju ku 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 -- chuang jian biao de SQL declare @tbname sysname set @tbname='##tmp_'+convert(varchar(38),newid()) set @sql='select * into ['+@tbname+'] from([url=mailto:]'+@sqlstr+'[/url]) a' exec(@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 tempdb..syscolumns a left join tempdb..systypes b on a.xtype=b.xusertype where b.name not in ('image','text','uniqueidentifier','sql_variant','ntext','varbinary','binary','timestamp') and a.id=(select id from tempdb..sysobjects where [url=mailto:name=@tbname]name=@tbname[/url]) 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 -- dao ru shu ju set @sql='openrowset(''MICROSOFT.JET.OLEDB.4.0'',''Excel 5.0;HDR=YES ;DATABASE='+@path+@fname+''',['+@sheetname+'$])' exec('insert into [url=mailto:]'+@sql+'('+@fdlist+'[/url]) select [url=mailto:]'+@fdlist+'[/url] 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 cuo wu hao ,@src as cuo wu yuan ,@desc as cuo wu miao shu select @sql,@constr,@fdlist go
󰈣󰈤
  免责声明:本文仅代表作者个人观点,与王朝网络无关。王朝网络登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
上海柏雅居酒店模拍
清晨美丽的风景
梦清园的靓丽女生
妖艳的食人花(7)
且行且攝------"色"影大連
【做股票的朋友看过来-华尔街的铜牛】
端午节后闲逛
捐款赈灾吴川行 花絮
 
>>返回首页<<
 为你推荐
 
 
 转载本文
 UBB代码 HTML代码
复制到剪贴板...
 
 热帖排行
 
 
 
 
©2005- 王朝网络 版权所有