C#-导入Excel 内容到 DataTable中

时间:2023-03-09 02:17:34
C#-导入Excel 内容到 DataTable中

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;
}
}
}