从中导入/导出的基本方法
来源:互联网 发布:自己如何制作软件 编辑:程序博客网 时间:2024/05/22 08:18
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
从SQLServer中导入/导出Excel的基本方法
/*=================== 导入/导出Excel的基本方法===================*/
从Excel文件中,导入数据到SQL中,很简单,直接用下面的语句:
/*===================================================================*/
--如果接受数据导入的表已经存在
insertinto表select*from
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel5.0;HDR=YES;DATABASE=c:test.xls',sheet1$)
--如果导入数据并生成表
select*into表from
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel5.0;HDR=YES;DATABASE=c:test.xls',sheet1$)
/*===================================================================*/
--如果从SQL数据库中,导出数据到Excel,如果Excel文件已经存在,而且已经按照要接收的数据创建好表头,就可以简单的用:
insertintoOPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel5.0;HDR=YES;DATABASE=c:test.xls',sheet1$)
select*from表
--如果Excel文件不存在,也可以用BCP来导成类Excel的文件,注意大小写:
--导出表的情况
EXECmaster..xp_cmdshell'bcp数据库名.dbo.表名out"c:test.xls"/c-/S"服务器名"/U"用户名"-P"密码"'
--导出查询的情况
EXECmaster..xp_cmdshell'bcp"SELECTau_fname,au_lnameFROMpubs..authorsORDERBYau_lname"queryout"c:test.xls"/c-/S"服务器名"/U"用户名"-P"密码"'
/*--说明:
c:test.xls 为导入/导出的Excel文件名.
sheet1$ 为Excel文件的工作表名,一般要加上$才能正常使用.
--*/
--上面已经说过,用BCP导出的是类Excel文件,其实质为文本文件,
--要导出真正的Excel文件.就用下面的方法
/*--数据导出EXCEL
导出表中的数据到Excel,包含字段名,文件为真正的Excel文件
,如果文件不存在,将自动创建文件
,如果表不存在,将自动创建表
基于通用性考虑,仅支持导出标准数据类型
--邹建2003.10--*/
/*--调用示例
p_exporttb@tbname='地区资料',@path='c:',@fname='aa.xls'
--*/
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[p_exporttb]')andOBJECTPROPERTY(id,N'IsProcedure')=1)
dropprocedure[dbo].[p_exporttb]
GO
createprocp_exporttb
@tbnamesysname, --要导出的表名
@pathnvarchar(1000), --文件存放目录
@fnamenvarchar(250)='' --文件名,默认为表名
as
declare@errint,@srcnvarchar(255),@descnvarchar(255),@outint
declare@objint,@constrnvarchar(1000),@sqlvarchar(8000),@fdlistvarchar(8000)
--参数检测
ifisnull(@fname,'')=''set@fname=@tbname+'.xls'
--检查文件是否已经存在
ifright(@path,1)<>''set@path=@path+''
createtable#tb(abit,bbit,cbit)
set@sql=@path+@fname
insertinto#tbexecmaster..xp_fileexist@sql
--数据库创建语句
set@sql=@path+@fname
ifexists(select1from#tbwherea=1)
set@constr='DRIVER={MicrosoftExcelDriver(*.xls)};DSN='''';READONLY=FALSE'
+';CREATE_DB=" +';DATABASE='+@sql+'"'
--连接数据库
exec@err=sp_oacreate'adodb.connection',@objout
if@err<>0gotolberr
exec@err=sp_oamethod@obj,'open',null,@constr
if@err<>0gotolberr
/*--如果覆盖已经存在的表,就加上下面的语句
--创建之前先删除表/如果存在的话
select@sql='droptable['+@tbname+']'
exec@err=sp_oamethod@obj,'execute',@outout,@sql
--*/
--创建表的SQL
select@sql='',@fdlist=''1<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
从SQLServer中导入/导出Excel的基本方法
/*=================== 导入/导出Excel的基本方法===================*/
从Excel文件中,导入数据到SQL中,很简单,直接用下面的语句:
/*===================================================================*/
--如果接受数据导入的表已经存在
insertinto表select*from
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel5.0;HDR=YES;DATABASE=c:test.xls',sheet1$)
--如果导入数据并生成表
select*into表from
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel5.0;HDR=YES;DATABASE=c:test.xls',sheet1$)
/*===================================================================*/
--如果从SQL数据库中,导出数据到Excel,如果Excel文件已经存在,而且已经按照要接收的数据创建好表头,就可以简单的用:
insertintoOPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel5.0;HDR=YES;DATABASE=c:test.xls',sheet1$)
select*from表
--如果Excel文件不存在,也可以用BCP来导成类Excel的文件,注意大小写:
--导出表的情况
EXECmaster..xp_cmdshell'bcp数据库名.dbo.表名out"c:test.xls"/c-/S"服务器名"/U"用户名"-P"密码"'
--导出查询的情况
EXECmaster..xp_cmdshell'bcp"SELECTau_fname,au_lnameFROMpubs..authorsORDERBYau_lname"queryout"c:test.xls"/c-/S"服务器名"/U"用户名"-P"密码"'
/*--说明:
c:test.xls 为导入/导出的Excel文件名.
sheet1$ 为Excel文件的工作表名,一般要加上$才能正常使用.
--*/
--上面已经说过,用BCP导出的是类Excel文件,其实质为文本文件,
--要导出真正的Excel文件.就用下面的方法
/*--数据导出EXCEL
导出表中的数据到Excel,包含字段名,文件为真正的Excel文件
,如果文件不存在,将自动创建文件
,如果表不存在,将自动创建表
基于通用性考虑,仅支持导出标准数据类型
--邹建2003.10--*/
/*--调用示例
p_exporttb@tbname='地区资料',@path='c:',@fname='aa.xls'
--*/
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[p_exporttb]')andOBJECTPROPERTY(id,N'IsProcedure')=1)
dropprocedure[dbo].[p_exporttb]
GO
createprocp_exporttb
@tbnamesysname, --要导出的表名
@pathnvarchar(1000), --文件存放目录
@fnamenvarchar(250)='' --文件名,默认为表名
as
declare@errint,@srcnvarchar(255),@descnvarchar(255),@outint
declare@objint,@constrnvarchar(1000),@sqlvarchar(8000),@fdlistvarchar(8000)
--参数检测
ifisnull(@fname,'')=''set@fname=@tbname+'.xls'
--检查文件是否已经存在
ifright(@path,1)<>''set@path=@path+''
createtable#tb(abit,bbit,cbit)
set@sql=@path+@fname
insertinto#tbexecmaster..xp_fileexist@sql
--数据库创建语句
set@sql=@path+@fname
ifexists(select1from#tbwherea=1)
set@constr='DRIVER={MicrosoftExcelDriver(*.xls)};DSN='''';READONLY=FALSE'
+';CREATE_DB=" +';DATABASE='+@sql+'"'
--连接数据库
exec@err=sp_oacreate'adodb.connection',@objout
if@err<>0gotolberr
exec@err=sp_oamethod@obj,'open',null,@constr
if@err<>0gotolberr
/*--如果覆盖已经存在的表,就加上下面的语句
--创建之前先删除表/如果存在的话
select@sql='droptable['+@tbname+']'
exec@err=sp_oamethod@obj,'execute',@outout,@sql
--*/
--创建表的SQL
select@sql='',@fdlist=''1<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
- 从中导入/导出的基本方法
- 导入/导出 Excel 的基本方法
- (转) 导入/导出 Excel 的基本方法
- 导入/导出 Excel 的基本方法
- 导入/导出 Excel 的基本方法
- 从SQL Server中导入/导出 Excel 的基本方法
- 从SQL Server中导入/导出 Excel 的基本方法
- 从SQL Server中导入/导出 Excel 的基本方法
- 从SQL Server中导入/导出 Excel 的基本方法
- 导入/导出 Excel 的基本方法 JAVA EXCEL API简介
- 从SQL Server中导入/导出 Excel 的基本方法
- 从SQL Server中导入/导出Excel的基本方法
- 从SQL Server中导入/导出 Excel 的基本方法
- 从SQL Server中导入/导出 Excel 的基本方法
- 从SQL Server中导入/导出Excel的基本方法
- 导入/导出 Excel 的基本方法 JAVA EXCEL API简介
- Oracle数据库数据导入导出基本方法 .
- mysqldump导入导出数据库基本方法
- 使用sql-server进行分布式查询(链接服务器)
- NS相关的工具和资源
- 正则表达式获取HTML标记中的内容(C#)
- Oracle中找出无用的索引提高DML性能
- JSP的内置对象的调用函数介绍
- 从中导入/导出的基本方法
- 在JSP页面中获取当前系统时间
- 连接中的三个最常见错误:
- 我的第一个blog
- PowerDesigner脚本:设置实体快捷方式的颜色
- "post/get"的区别
- PowerDesigner脚本:删除无用的DataItems
- (转)献给毕业生
- 不用企业管理器的情况下得知CHECK约束的属性设置