乙個單元格乙個單元格的寫入excel雖然不錯,但是速度太慢,要重複的操作excel物件. 在網上找到了個辦法,是寫入陣列,然後由陣列直寫入excel中,速度要快許多.
1. 生成object陣列的方法
public
object[,] getobjectarray(system.data.datatable dt)
}return objdata;}
2. 資料操作的**
worksheet sheetunknown;
sheetunknown.name = "nybb";
range rgedata = this.getheaderrange(dt, sheetunknown);
object objheader =
;rgedata.value2 = objheader;
//因為我的excel表中有表頭,所以cell的起始行從2開始,到總行數+1... 表頭的生成方法如下.
sheetunknown.get_range(sheetunknown.cells[2, 1], sheetunknown.cells[dt.rows.count + 1, dt.columns.count]).value2 = getobjectarray(dt);
3.生成表頭的**
public range getheaderrange(system.data.datatable dt,worksheet worksheet)
其中dt是datatable物件,是由select查詢結果返回的. worksheet是office的excel物件,我使用的是office2003, 但是強烈使用office2000,相容性可能會好一些,office中在引用了excel.dll之後,可以用 excel.物件名來操作物件.
資料庫向Excel寫入資料
開啟目標資料錄入資訊excel檔案 函式處理失敗的錯誤資訊 如果函式處理成功返回true,否則返回false private bool opendessjlrexcel string excelfile,errinfo perrinfo 返回函式處理結果給外部的函式呼叫者 return pflago...
C 向excel中寫入資料的三種方式
第一種 將datagrid中的資料以流的形式寫到excel中,格式以html的形式存在 關閉 viewstate enableviewstate false system.io.stringwriter tw new system.io.stringwriter 將資訊寫入字串 system.web...
列表中資料,寫入excel
encoding utf 8 list1 1,2,3,4,5,6,7,8,9,10 定義指定輸出excel檔案的名稱,讀入方式,編碼方式 result open e 超級賬本教程 帶有rebuttal.xlsx w encoding gbk 引數 w 表示往指定 讀入資料,會先將 中原本的內容清空 ...