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

2022-01-24 10:54:52 字數 3343 閱讀 6142

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

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:\\myexcel.xls」;

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:\\myexcel.xls

」//hdr=no

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

"provider=microsoft.jet.oledb.4.0;extended properties=\"excel 8.0;hdr=no;\";data source=c:\\myexcel.xls」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 指定客戶端執行...