(1)OleDB方式
優(yōu)點:將Excel直接當做數(shù)據(jù)源處理,通過SQL直接讀取內(nèi)容,讀取速度較快。
缺點:讀取數(shù)據(jù)方式不夠靈活,無法直接讀取某一個單元格,只有將整個Sheet頁讀取出來后(結(jié)果為Datatable)再在Datatable中根據(jù)行列數(shù)來獲取指定的值。
當Excel數(shù)據(jù)量很大時。會非常占用內(nèi)存,當內(nèi)存不夠時會拋出內(nèi)存溢出的異常。
讀取代碼如下:
1: public DataTable GetExcelTableByOleDB(string strExcelPath, string tableName)
2: { 3: try
4: { 5: DataTable dtExcel = new DataTable();
6: //數(shù)據(jù)表
7: DataSet ds = new DataSet();
8: //獲取文件擴展名
9: string strExtension = System.IO.Path.GetExtension(strExcelPath);
10: string strFileName = System.IO.Path.GetFileName(strExcelPath);
11: //Excel的連接
12: OleDbConnection objConn = null;
13: switch (strExtension)
14: { 15: case ".xls":
16: objConn = new OleDbConnection("PRovider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strExcelPath + ";" + "Extended Properties=/"Excel 8.0;HDR=NO;IMEX=1;/""); 新聞熱點
疑難解答