如何通过SQL实现Excel与MsSql数据库的导入导出

来源:互联网  作者:本站整理
摘要:1、从Excel文件中,导入数据到SQL数据库中, select*into表from OPENROWSET('MICROSOFT.JET.OLEDB.4.0' ,'Excel5.0;HDR=YES;DATABASE=c:\test.xls',sheet1…

1、从Excel文件中,导入数据到SQL数据库中,
  select * into 表 from
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)

2、在SQL数据库中直接从Excel里面查询数据:
  select * from
  OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
  ,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)

3、从SQL数据库中,导出数据到Excel(excel存在),
  insert into OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)
select * from 表

4、从SQL数据库中,导出数据到Excel(excel不存在),
  ---- 导出表
  EXEC master..xp_cmdshell 'bcp 数据库名.dbo.表名 out "c: est.xls" /c -/S"服务器名" /U"用户名" -P"密码"'
  ---- 导出查询语句
  EXEC master..xp_cmdshell 'bcp "SELECT au_fname, au_lname FROM pubs..authors ORDER BY au_lname" queryout "c: est.xls" /c -/S"服务器名" /U"用户名" -P"密码"'

5、导入导出的存储过程
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_tb2excel
@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

【相关文章】好搜一下
关于JDBC连接数据库的常用驱动名和URL格式汇总

关于JDBC连接数据库的常用驱动名和URL格

内容提示:本文搜集了一些常用的JDBC连接数据库的URL和驱动名,供大家参考,希…