C 讀Excel檔案並插入到資料庫中

2022-03-05 15:13:10 字數 1710 閱讀 9141

今天,有個專案需要核對一些資料,核對excel檔案中的某一列資料是否存在於資料庫中的某個表,這查詢起來實在太煩,雖然只有千把條記錄,逐個到資料庫里查,也要花個大半天時間。於是寫了個小工具,將excel檔案中需要的列讀出來,寫入到資料庫中,專案中用的是ibm db2,這個可以根據需要進行修改,然後再進行表聯合查詢,就省事多了。

我訪問excel檔案使用的方式是oledb方式,沒有用office元件。

首先加入namespace:

code

using

system.data.oledb;

定義連線字串:

code

string

filepath =@"

c:\employee.xls";

string

strconn ="

provider=microsoft.jet.oledb.4.0;data source="+

filepath +"

;extended properties='excel 8.0;hdr=yes;imex=1;'";

選擇excel檔案中的乙個sheet,比如叫「employeeinfo」:

code

string

strsheetname ="

employeeinfo";

string

strexcel ="

select * from  ["+

strsheetname +"

$] "

;開啟連線,讀取excel檔案中資料到dataset中,然後關閉連線:

code

oledbconnection conn 

=new

oledbconnection(strconn);

conn.open();

oledbdataadapter adapter 

=new

oledbdataadapter(strexcel, conn);

dataset ds 

=new

dataset();

adapter.fill(ds, 

"data");

conn.close();

寫到db2資料庫中,假定資料庫已經建好,並且表test也已經建好:

code

string

connstring ="

provider=ibmdadb2;database=toolsdb"+

";hostname=localhost;protocol=tcpip;port=50000;uid=db2admin;pwd=123456;";

oledbconnection db2conn 

=new

oledbconnection(connstring);

oledbcommand db2comm 

=new

oledbcommand();

db2conn.open();

db2comm.connection 

=db2conn;

db2comm.commandtimeout 

=600

;for

(inti =

0; i 

<

ds.tables[

0].rows.count; i++)

db2conn.close();

這樣就把excel表中的資料插入到資料庫中了。

上傳Excel檔案並匯入到資料

上傳檔案 上傳excel檔案 protected void btnfileload click object sender,eventargs e catch exception ex else 匯入檔案 將excel中的檔案匯入到資料庫 protected void btninsertdata c...

匯出資料到excel檔案

1 繫結事件,引數為模糊查詢中使用ng model繫結的資料 匯出2 使用 scope.引數 scope.searchwhere 3 匯出excel 全部 exporthrsalaryzz scope.exportdatas function searchwhere headers 響應型別 res...

C 讀Excel文件的資料

c 讀excel文件的資料 string strpath this.txtpath.text.trim string strexcelname this.txtexcelname.text.trim string strexceldocname this.txtexceldocname.text.t...