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

转载于:https://www.cnblogs.com/-Tiger/p/8880939.html

你可能感兴趣的:(C#-导入Excel 内容到 DataTable中)