把Excel导入到内存中的DataTable

方法实现:

#region ExcelToDataTable
public static DataTable ExcelToDataTable(string strExcelFileName,string strSheetName)
{
    try
    {
        //源的定义
        string strConn = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=" + strExcelFileName + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1;\"";
                //Sql语句
                string strExcel = string.Format("select   *   from   [{0}$] ", strSheetName);
                //string strExcel = "select   *   from     [sheet1$] ";

                //定义存放的数据表
                DataSet ds = new DataSet();

                //连接数据源
                OleDbConnection conn = new OleDbConnection(strConn);

                conn.Open();

                //适配到数据源
                OleDbDataAdapter adapter = new OleDbDataAdapter(strExcel, strConn);
                adapter.Fill(ds, strSheetName);

                conn.Close();

                return ds.Tables[strSheetName];
            }
            catch
            {
                return null;
            }
    }
}
#rendregion
View Code

相关文章: