当前位置: 移动技术网 > IT编程>数据库>MSSQL > SQL直接操作excel表(查询/导入/插入)

SQL直接操作excel表(查询/导入/插入)

2017年12月12日  | 移动技术网IT编程  | 我要评论

阎娜三围,环球卡盘,泰国bee

复制代码 代码如下:

--配置权限
exec sp_configure 'show advanced options', 1;
go
reconfigure;
go
exec sp_configure 'ad hoc distributed queries', 1;
go
reconfigure;
go

sql server 和excel的数据导入导出
1、在sql server里查询excel数据:
-- ======================================================
复制代码 代码如下:

select *
from opendatasource( 'microsoft.jet.oledb.4.0',
'data source="c:\book1.xls";user id=admin;password=;extended properties=excel 5.0')...[sheet1$]
下面是个查询的示例,它通过用于 jet 的 ole db 提供程序查询 excel 电子表格。
select *
from opendatasource ( 'microsoft.jet.oledb.4.0',
'data source="c:\finance\account.xls";user id=admin;password=;extended properties=excel 5.0')...xactions

-------------------------------------------------------------------------------------------------
2、将excel的数据导入sql server :
-- ======================================================
复制代码 代码如下:

select * into newtable
from opendatasource( 'microsoft.jet.oledb.4.0',
'data source="c:\book1.xls";user id=admin;password=;extended properties=excel 5.0')...[sheet1$]

实例:
复制代码 代码如下:

select * into newtable
from opendatasource( 'microsoft.jet.oledb.4.0',
'data source="c:\finance\account.xls";user id=admin;password=;extended properties=excel 5.0')...xactions

-------------------------------------------------------------------------------------------------
3、将sql server中查询到的数据导成一个excel文件
-- ======================================================
t-sql代码:
复制代码 代码如下:

exec master..xp_cmdshell 'bcp 库名.dbo.表名out c:\temp.xls -c -q -s"servername" -u"sa" -p""'

参数:s 是sql服务器名;u是用户;p是密码
说明:还可以导出文本文件等多种格式
实例:
复制代码 代码如下:

exec master..xp_cmdshell 'bcp saletesttmp.dbo.cusaccount out c:\temp1.xls -c -q -s"pmserver" -u"sa" -p"sa"'
exec master..xp_cmdshell 'bcp "select au_fname, au_lname from pubs..authors order by au_lname" queryout c:\ authors.xls -c -sservername -usa -ppassword'

在vb6中应用ado导出excel文件代码:
复制代码 代码如下:

dim cn as new adodb.connection
cn.open "driver={sql server};server=websvr;database=webmis;uid=sa;wd=123;"
cn.execute "master..xp_cmdshell 'bcp "select col1, col2 from 库名.dbo.表名" queryout e:\dt.xls -c -sservername -usa -ppassword'"

------------------------------------------------------------------------------------------------
4、在sql server里往excel插入数据:
-- ======================================================
复制代码 代码如下:

insert into opendatasource( 'microsoft.jet.oledb.4.0',
'data source="c:\temp.xls";user id=admin;password=;extended properties=excel 5.0')...table1 (a1,a2,a3) values (1,2,3)

t-sql代码:
复制代码 代码如下:

insert into
opendatasource('microsoft.jet.oledb.4.0',
'extended properties=excel 8.0;data source=c:\training\inventur.xls')...[filiale1$]
(bestand, produkt) values (20, 'test')

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网