C#调用OleDbConnection类读取Excel表格时,报错外部组件发生异常!

跪求大神指导,谢谢!没有多少就给10分吧!谢谢了
2025-03-22 15:24:40
推荐回答(2个)
回答(1):

//动态读取Excel表数据到DataSet
DataSet excelDataSet = new DataSet();
using (OleDbConnection con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=BOM.xlsx;Extended Properties='Excel 12.0;IMEX=1';"))
{
    con.Open();
    DataTable dt = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
    using (OleDbCommand cmd = new OleDbCommand("", con))
    {
        Console.WriteLine("read excel............");
        foreach (DataRow item in dt.Rows)
        {
            string tableName = item["TABLE_NAME"].ToString();
            cmd.CommandText = string.Format("select * from [{0}] ", tableName);
            DataTable temp = new DataTable(tableName);
            temp.Load(cmd.ExecuteReader());
            excelDataSet.Tables.Add(temp);
        }
        Console.WriteLine("read excel done !");
    }
}

回答(2):

问题出在Excel中左下角的Sheet1