select * from OpenRowSet(''microsoft.jet.oledb.4.0'',''Excel 8.0;HDR=yes;database=c:\book1.xls;'',''select * from [Sheet1$]'') where c like ''%f%''
select * from
OPENROWSET(''MICROSOFT.JET.OLEDB.4.0''
,''Excel 5.0;HDR=YES;IMEX=2;DATABASE=c:\book1.xls'',[sheet1$])
1)hdr=yes時(shí)可以把xls的第1行作為字段看待,,如第1個(gè)中hdr=no的話,where時(shí)就會(huì)報(bào)錯(cuò)
2)[]和美圓$必須要,,否則M$可不認(rèn)這個(gè)賬
2,、修改Execl
update OpenRowSet(''microsoft.jet.oledb.4.0'',''Excel 8.0;hdr=yes;database=c:\book1.xls;'',''select * from [Sheet1$]'')
set a=''erquan'' where c like ''%f%''
3、導(dǎo)入導(dǎo)出
insert into OpenRowSet(''microsoft.jet.oledb.4.0'',''Excel 8.0;hdr=yes;database=c:\book1.xls;'',''select * from [Sheet2$]'')(id,name)
select id,name from serv_user
或BCP實(shí)現(xiàn),,BCP是 sql自帶的一個(gè)數(shù)據(jù)轉(zhuǎn)移工具,,可以直接在命令行下運(yùn)行
master..xp_cmdshell''bcp "serv-htjs.dbo.serv_user" out "c:\book2.xls" -c -q -S"." -U"sa" -P"sa"''
從Excel向SQLServer導(dǎo)入:
select * into serv_user_bak
from OpenRowSet(''microsoft.jet.oledb.4.0'',''Excel 8.0;HDR=yes;database=c:\book1.xls;'',''select * from [Sheet1$]'')
如果表serv_user_bak不存在,則創(chuàng)建 最后也可以通過(guò)數(shù)據(jù)庫(kù)聯(lián)接字符串直接連接"provider = microsoft.jet.oledb.4.0;data source=c:\\excel.xls;Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'";在程序中,,將上述連接字符串用于創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù)連接,,然后就可以正常使用sql語(yǔ)句進(jìn)行Excel查詢了
如果上述連接池會(huì)出錯(cuò),請(qǐng)去掉hdr=yes