--
將某個目錄上的excel表,匯入到資料庫中
--將所有的excel檔案放到乙個目錄中,假設為c:/test/,然後用下面的方法來做
create
table
#t(fname
varchar
(260
),depth
int,isf
bit)
insert
into
#t exec
master..xp_dirtree
'c:/test',
1,1declare
tb cursor
forselectfn=
'c:/test'+
fname
from
#twhere
isf=
1and
fname
like
'%.xls'--
取.xls檔案(excel)
declare
@fnvarchar
(8000
)open
tbfetch
next
from
tb into
@fnwhile
@@fetch_status=0
begin
--下面是查詢語句,需要根據你的情況改為插入語句
--插入已有的錶用:insert into 表 selct * from ...
--建立錶用:select * into 表 from ...
set@fn='
select * from
openrowset(
''microsoft.jet.oledb.4.0'',
''excel 5.0;hdr=yes;database='+
@fn+
''',全部客戶$)
'exec
(@fn
)fetch
next
from
tb into
@fnend
close
tbdeallocate
tbdrop
table#t
訪問excel
1)、inert
into
a select
*from
opendatasource( '
microsoft.jet.oledb.4.0',
'data source="e:/****.xls";user id=admin;password=;extended properties=excel 5.0
')...
[sheet1$
]但此時查詢結果得順序是按照列名得順序排列的,而不是按照電子**中原有的順序。這是 sql server
2000
行集函式
openrowset
和 opendatasource
本身的問題,與訪問介面引擎無關,也與 excel 版本無關。sql server
2005
的 openrowset
和 opendatasource
不存在這個問題。
2)、inert
into
a select
*from
openrowset('
microsoft.jet.oledb.4.0',
'excel 8.0;hdr=yes;database=e:/****.xls',
'select * from [sheet1$]
')
此種方法可以解決opendatasurce得問題,即查詢結果列得順序與電子**中原有順序一致
3exec
sp_addlinkedserver
@server='
xlsserver',
@srvproduct='
jet4.0',
@provider='
microsoft.jet.oledb.4.0',
@datasrc='
e:/****.xls',
@provstr='
excel 8.0
'inert
into
a select
*from
xlsserver...
[sheet1$
]此時查詢結果中列得順序是按照列名得順序排列的。
將某個目錄上的Excel表,匯入到資料庫中 sql
將某個目錄上的excel表,匯入到資料庫中 將所有的excel檔案放到乙個目錄中,假設為c test 然後用下面的方法來做 create table t fname varchar 260 depth int,isf bit insert into t exec master.xp dirtree ...
將excel表的資料匯入
import react from react import xlsx from xlsx class list extends react.component file.target 通過filereader物件讀取檔案 const filereader new filereader filere...
將Excel 表快速匯入sqlserver
從exce表中直接匯入到資料庫中 private void barbuttonitem從excel匯入 itemclick object sender,devexpress.xtrabars.itemclickeventargs e while read.nextresult read.close ...