public static DataTable GetExcelTableByOleDB(string strExcelPath, string tableName)
{
try
{
DataTable dtExcel =
new
DataTable();
DataSet ds =
new
DataSet();
string strExtension = System.IO.Path.GetExtension(strExcelPath);
string strFileName = System.IO.Path.GetFileName(strExcelPath);
OleDbConnection objConn =
null
;
switch
(strExtension)
{
case
".xls"
:
objConn =
new
OleDbConnection(
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
+ strExcelPath +
";"
+
"Extended Properties=\"Excel 8.0;HDR=yes;IMEX=1;\""
);
break
;
case
".xlsx"
:
objConn =
new
OleDbConnection(
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source="
+ strExcelPath +
";"
+
"Extended Properties=\"Excel 12.0;HDR=yes;IMEX=1;\""
);
break
;
default
:
objConn =
null
;
break
;
}
if
(objConn ==
null
)
{
return
null
;
}
objConn.Open();
string strSql =
"select * from ["
+ tableName +
"$]"
;
OleDbCommand objCmd =
new
OleDbCommand(strSql, objConn);
OleDbDataAdapter myData =
new
OleDbDataAdapter(strSql, objConn);
myData.Fill(ds, tableName);
objConn.Close();
dtExcel = ds.Tables[tableName];
return
dtExcel;
}
catch
(Exception ex)
{
Console.WriteLine(ex.Message +
"\r\n"
+ ex.StackTrace);
return
null
;
}
}