代码改变世界

把Excel转换成数据集DataTable

2013-12-11 10:14  c_采药  阅读(455)  评论(0)    收藏  举报

今天是第一次写,有点乱哦。

我的想法是吧Excel当作数据源,我们以sql 语句去读取数据,然后填充到Datatable中。

 

代码如下:

        public static System.Data.DataTable ExcelToDataTable(string strExcelFileName, string strSheetName)    

     {         

    try           

  {         

        string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + strExcelFileName + ";" + "Extended Properties='Excel 5.0;IMEX=1'";                 // string strConn = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'", strExcelFileName);

                //               string strCon = @"Provider=Microsoft.ACE.OLEDB.4.0;Data Source=" + strExcelFileName + ";Extended Properties='Excel 5.0;HDR=YES;IMEX=1'";    

             string strExcel = string.Format("select * from [{0}$]", strSheetName);      

           DataSet ds = new DataSet();            

     using (OleDbConnection conn = new OleDbConnection(strConn))       

          {                    

conn.Open();           

          OleDbDataAdapter adapter = new OleDbDataAdapter(strExcel, strConn);     

                adapter.Fill(ds, strSheetName);              

       conn.Close();            

     }              

   return ds.Tables[strSheetName];      

       }           

  catch (Exception ex)    

         {               

          return null;        

     }  

       }