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

跪求大神指导,谢谢!没有多少就给10分吧!谢谢了... 跪求大神指导,谢谢!没有多少就给10分吧!谢谢了 展开
 我来答
玩转数据处理
2015-02-05 · 数据处理,Python,dotnet
玩转数据处理
采纳数:1613 获赞数:3794

向TA提问 私信TA
展开全部
//动态读取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 !");
    }
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Sxzy灬丨小柒
2015-02-05 · TA获得超过623个赞
知道小有建树答主
回答量:1223
采纳率:50%
帮助的人:278万
展开全部
问题出在Excel中左下角的Sheet1
更多追问追答
追问
您好,谢谢您的回答,但是我的Excel是正确的都对!左下角的文件名确实是Sheet1
追答
你把除了Sheet1之外的都删掉.然后保存关闭.再打开任务管理器看看.里面有没有EXCEL.exe进程.有的话就结束它.再导入.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式