將某個目錄上的Excel表,匯入到資料庫中

2021-04-30 23:58:33 字數 2240 閱讀 9252

--

將某個目錄上的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 ...