C#-導入Excel 內容到 DataTable中
直接傳入文件路徑,支持所有Excel格式。
缺點:如果數據量龐大會很占內存。
public static DataTable ImportExcelToDataTable2(string path)
{
string conStr = string.Format("Provider=Microsoft.ACE.OLEDB.12.0; Data source={0}; Extended Properties=Excel 12.0;", path);
using (OleDbConnection conn=new OleDbConnection(conStr))
{
conn.Open();
//獲取所有Sheet的相關信息
DataTable dtSheet = conn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null);
//獲取第一個 Sheet的名稱
string sheetName = dtSheet.Rows[0]["Table_Name"].ToString();
string sql = string.Format("select * from [{0}]",sheetName);
using (OleDbDataAdapter oda = new OleDbDataAdapter(sql, conn))
{
DataTable dt = new DataTable();
oda.Fill(dt);
return dt;
}
}
}