C 向excel中寫入資料的三種方式

2021-08-26 11:30:02 字數 1421 閱讀 4957

第一種:將datagrid中的資料以流的形式寫到excel中,格式以html的形式存在

//關閉 viewstate

enableviewstate = false;

system.io.stringwriter tw = new system.io.stringwriter();//將資訊寫入字串

system.web.ui.htmltextwriter hw = new system.web.ui.htmltextwriter(tw);//在web窗體頁上寫出一系列連續的html特定字元和文字。

//此類提供asp.net伺服器控制項在將html內容呈現給客戶端時所使用的格式化功能

//獲取control的html

dg.rendercontrol(hw);//將table中的內容輸出到htmltextwriter物件中

// 把html寫回瀏覽器

response.write(tw.tostring());

response.flush();

response.end();

第二種:將資料來源中的資料以檔案流的形式寫到excel中,格式以txt的形式存在

datatable dt = getdatatablesource();

int count = dt.columns.count;

string head = "";

string values = "";

for (int i = 0; i < count; i++)

rw.writeline(head);

rw.writeline(values);

rw.close();

fs.close();

response.redirect("report_export/dialouttemplate.xls");

第三種:將資料來源中的資料直接寫到excel中,格式以xls形式存在,好處匯出的

資料可以直接匯入,可以將數字格式自動轉化為文字格式,可以減少

格式轉化的繁瑣環節,還可以預留將數字轉換為文字的格式的行數,

可以完全自定義

fileinfo fi = new fileinfo(filepath);

if (fi.exists) //判斷檔案是否已經存在,如果存在就刪除!

datatable dt = getdatatablesource();

int count = dt.columns.count;

for (int i = 0; i < count; i++)

for (int j = 1; j < 500; j++)

資料向Excel中寫入的加速的辦法

乙個單元格乙個單元格的寫入excel雖然不錯,但是速度太慢,要重複的操作excel物件.在網上找到了個辦法,是寫入陣列,然後由陣列直寫入excel中,速度要快許多.1.生成object陣列的方法 public object getobjectarray system.data.datatable d...

Excel資料分列的三種方法

方法 二 查詢提取法 1 在b列右側插入兩列空白列,用於儲存提出的字元。2 選中c2單元格,輸入公式 left b2,find b2 1 注意 上述公式的含義是 先用 find 函式查詢間隔 號在字串中的位置,然後用 left 函式從字串左側開始,提取至間隔 號的字串 即英文本串,其中 1 是為了去...

DataTable資料批量寫入資料庫三種方法比較

1 insert迴圈插入 2 sqldataadapter.update dataset,tablename 3 sqlbulkcopy.writetoserver datatable 1 生成測試的datatable表,表結構如下 uniqueid 主鍵,自動增長 companyname comp...