C 在客戶端和服務端操作Excel檔案

2021-08-22 08:04:19 字數 3315 閱讀 3546

一、在客戶端把資料匯入到

excel

檔案步驟 1

、建立物件,開啟或生成

excel檔案

//服務端建立

stringbuilder物件

system.text.stringbuilder sb=new system .text .stringbuilder (); //

指定客戶端執行語言

//建立物件

//開啟excel檔案

2、選定工作表,把資料匯入到

excel //

選定欲操作的

excel表

//獲得要運算元據表的行、列數

int rows=dt.rows.count,cols=dt.columns.count ; //

按行列將資料寫入

excel表

for (int j=brow+1;j

for (int i=bcol;i

3、顯示

excel檔案

4、釋放建立的物件

5、將**寫到客戶端

this.page.registerclientscriptblock("",sb.tostring ());

二、在服務端操作

excel檔案

服務端操作

excel

檔案,是把

excel

檔案看作資料庫,把

excel

工作表當作資料表 1

、建立連線並開啟連線

protected system.data .oledb.oledbconnection dbcnn;

cnnstr="provider=microsoft.jet.oledb.4.0;extended properties=/"excel 8.0;hdr=yes;/";data source=c:

dbcnn=new oledbconnection (cnnstr);

dbcnn.open (); 2

、建立oledbcommand

物件用來操作

excel檔案

protected system.data .oledb .oledbcommand dbcmd;

dbcmd=new oledbcommand();

dbcmd.connection =dbcnn; 3

、操作excel檔案

//獲得要運算元據表的行、列數

rows=dt.rows.count ;

cols=dt.columns.count-1 ; //

按行列將資料寫入

excel

檔案sheet1

工作表

for(int i=0;i

4、釋放oledbcommand

物件、關閉連線

dbcmd.dispose ();

dbcnn.close (); 5

、可操作的

sql語句 //

建立名為

punchdate

的工作表,並指明子段型別。 //

建立工作表好處是可指定子段型別,否則都以字串匯出

create table punchdate(mno char(5), punchnum float) //

插入新資料

insert into punchdate(mno,punchnum) values(『09

』,9000) //

更新資料

update punchdate set punchnum=8000 where mno=』09

』 6、不可操作的

sql語句

delete from punchdate 7

、注意連線子串

//hdr=yes

說明工作表第一行為子段名

"provider=microsoft.jet.oledb.4.0;extended properties=/"excel 8.0;hdr=yes;/";data source=c:

//hdr=no

說明工作表沒有含子段名的行

"provider=microsoft.jet.oledb.4.0;extended properties=/"excel 8.0;hdr=no;/";data source=c:

8、注意對

web.config

的設定

刪除以下專案

或者這樣設定

三、兩種方法的優缺點

操作excel

檔案方法 優點

缺點客戶端

資料匯入到

excel

檔案時,很靈活,可將資料填入任意指定的儲存格,定位到任意位置 1

、在客戶端生成

activex

控制項,要將站點設定成可信站點或對

ie進行安全設定(降低了

ie的安全性)

2、對呼叫的

excel

模板檔案,使用者要有權讀寫

3、在客戶端寫

excel

檔案速度比較慢

服務端 1

、對呼叫的

excel

模板檔案,只要

asp.net

有權讀寫即可

2、在服務端寫

excel

檔案速度比較快

3、不要對

ie進行特別設定

對操作的檔案只能當作資料庫操作,不夠靈活

四、流輸出

原理:把資料填充到

datagrid

,然後把

datagrid

內容放到乙個輸出流裡面,並指定輸出流型別為

excel

system.io .stringwriter sw =new system.io.stringwriter();//

字串流

system.web .ui .htmltextwriter hw =new system.web.ui.htmltextwriter(sw);//html

流,用字串流作引數

dg.rendercontrol(hw);//

把datagrid

流變成字串流。

定義輸出流型別為

excel

流。關鍵語句。

response.contentencoding=system.text.encoding.getencoding("big5");//

指定編碼型別為大五碼

response.write(sw.tostring());//

輸出流

response.end();//

結束

C 在客戶端和服務端操作Excel檔案

一 在客戶端把資料匯入到 excel 檔案步驟 1 建立物件,開啟或生成 excel檔案 服務端建立 stringbuilder物件 system.text.stringbuilder sb new system text stringbuilder 指定客戶端執行語言 建立物件 開啟excel檔案...

C 在客戶端和服務端操作Excel檔案

一 在客戶端把資料匯入到 excel 檔案步驟 1 建立物件,開啟或生成 excel檔案 服務端建立 stringbuilder物件 system.text.stringbuildersb new system text stringbuilder 指定客戶端執行語言 建立物件 開啟excel檔案 ...

C 在客戶端和服務端操作Excel檔案

2008 01 03 07 20 一 在客戶端把資料匯入到 excel 檔案步驟 1 建立物件,開啟或生成 excel檔案 服務端建立 stringbuilder物件 system.text.stringbuilder sb new system text stringbuilder 指定客戶端執行...