public DataSet TransExcelToDataSet(string fileName, List<string> sheetNames) { OleDbConnection objConn =null; DataSet data =new DataSet(); //建立讀取excel鏈接 string strConn ="Provider=Microsoft.Jet.OleDb.4.0;"+"data source="+ fileName +";Extended Properties='Excel 8.0;HDR=YES;IMEX=1'"; try { objConn =new OleDbConnection(strConn); using (objConn) { OleDbDataAdapter sqlada =null; //遍歷從配置文件中讀取的sheet名稱 foreach (string sheetName in sheetNames) { if (!string.IsNullOrEmpty(sheetName)) { string strSql ="select * From ["+ sheetName.Trim() +"$]"; sqlada =new OleDbDataAdapter(strSql, objConn); //填充dataset sqlada.Fill(data, sheetName); } } } } catch (Exception e) { thrownew Exception("將excel中指定sheet內容讀入dataset出錯!"+ e.Message +" strConn: "+ strConn +" ; fileName:"+ fileName); //throw e; } finally { if (objConn !=null) { objConn.Dispose(); objConn.Close(); } GC.Collect(); } return data; }