源:
不管是把sql server表的資料插入excel:
insert
into
openrowset('
microsoft.jet.oledb.4.0',
'excel 5.0;hdr=yes;database=c:/test.xls
',test$)
select
*from
t_test
還是把excel的資料插入sql server表:
insert
into
t_test
select
*from
openrowset('
microsoft.jet.oledb.4.0',
'excel 5.0;hdr=yes;database=c:/test.xls
',test$)
都有可能會遇見字段混亂的問題,
即:sql server表和excel的字段順序不一樣!
其實,出現這樣的問題,是對
openrowset 的使用不甚了解引起的!
hdr = yes 表示excel內容第一行作為內容欄位而不是欄位列,
所以,把 hdr = yes 改為 hdr = no 即可!
2007-05-23 23:46 by
zhengmh [未註冊使用者]
錯,hdr引數並不能解決欄位名排序的問題。
正確地應為:
select * into t_test from openrowset('microsoft.jet.oledb.4.0','excel 8.0;hdr=no;imex=1;database=c:/test.xls','select * from [test$]')
2007-05-24 17:02 by
tohen
你說的非常正確,
謝謝你~~!
2007-05-24 17:08 by
tohen
hdr=yes 有兩個值:yes/no,表示第一行是否欄位名,預設是yes,第一行是欄位名;
imex=1 解決數字與字元混合時,識別不正常的情況
解釋 hdr :
1. hdr 只在" 把excel的資料插入sql server表 "才有效!!
2. 如果是" 把sql server表的資料插入excel " ,則excel要建跟sql server表同等數量的字段(名稱可以不一樣), hdr這個引數無效.
2008-09-18 13:52 by
蝙蝠 [未註冊使用者]
匯出到excel的話,好像上述的方法都不能解決順序亂的問題;可以參考:
lookice [未註冊使用者]
3樓說的正確
不知道能否通過sql server更新、刪除excel中資料
SQL Server SQL語句匯入匯出大全
匯出到excel exec master.xp cmdshell bcp settledb.dbo.shanghu out c temp1.xls c q s gnetdata gnetdata u sa p 匯入excel select from opendatasource microsoft....
匯入匯出sql語句
expdp 匯出 create directory dpdata1 as d test dump 建立目錄 grant read,write on directory dpdata1 to scott 賦予許可權 select from dba directories 查詢目錄 要在c盤建立test...
SQL 匯出匯入大全 引
匯出到excel exec master.xp cmdshell bcp settledb.dbo.shanghu out c temp1.xls c q s gnetdata gnetdata u sa p 匯入excel select from opendatasource microsoft....