/// <summary>
/// 支持的格式有 xls、xlsx
/// </summary>
/// <param name="uploadPath"></param>
/// <param name="sheetName"></param>
/// <returns></returns>
public DataTable GetExcelTableInfo(string uploadPath, string sheetName)
{
string filetype = System.IO.Path.GetExtension(uploadPath);//获取文件扩展名
string Xls_ConnStr = "";
if (filetype == ".xlsx")
{
Xls_ConnStr = "Provider=Microsoft.ACE.OLEDB.12.0;Persist Security Info=False;Data Source=" + uploadPath + ";Extended Properties='Excel 12.0;HDR=Yes;IMEX=1'";
}
else if (filetype == ".xls")
{
Xls_ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" + uploadPath + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1';";//HDR为yes 则第一数据行为列名,为no 则自动为列加列名F1 F2 F3
}
DataTable myTable = new DataTable();
//string Xls_ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" + uploadPath + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1';";//HDR为yes 则第一数据行为列名,为no 则自动为列加列名F1 F2 F3
using (OleDbConnection Conn = new OleDbConnection(Xls_ConnStr))
{
try
{
Conn.Open();
string sql_str = "select * from [{0}$]";
sql_str = string.Format(sql_str, sheetName);
OleDbDataAdapter da = new OleDbDataAdapter(sql_str, Conn);
da.Fill(myTable);
Conn.Close();
}
catch (Exception ex)
{
writeLog(ex.Message, "");
myTable = null;
}
}
return myTable;
}