首页 文章

将Excel工作表导入datagrideview

提问于
浏览
2

我正在尝试使用此代码Used Code将Excel工作表导入数据grideview,但此异常被触发,我不知道主要问题是什么 .

我正在尝试一些解决方案,比如将活动解决方案平台从任何人改为x86,但它不起作用

excel文件版本是否重要Excel 2010,Excel 2013?

update:
我从这个Site安装了Microsoft Office Access数据库引擎,最后一个异常消失但是这个新异常被触发了

这是使用过的代码:

public void importfromexcel()
    {
        string SheetPath = @"E:\students.xlsx";
        string constr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + SheetPath + ";Extended Properties=Excel 12.0;';";
        OleDbConnection con = new OleDbConnection(constr);
        OleDbDataAdapter sda = new OleDbDataAdapter("Select * From [" + SheetPath + "$]", con);
        System.Data.DataTable data = new System.Data.DataTable();
        sda.Fill(data);
        dataGridView1.DataSource = data;
    }

这段代码有什么问题吗?
提前致谢 .

1 回答

  • 1

    尝试使用下面的代码进行一些小改动...它按预期工作 .

    string WorkBookPath = @"D:\Test\Book1.xlsx";  //@"E:\students.xlsx";
    string SheetName = "Sheet1$"; // <--- this is the name of the WORKSHEET in the workBOOK
    string constr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + WorkBookPath + ";Extended Properties=Excel 12.0;";
    using (OleDbConnection con = new OleDbConnection(constr)) {
      OleDbDataAdapter sda = new OleDbDataAdapter("Select * From [" + SheetName + "]", con);
      DataTable data = new DataTable();
      sda.Fill(data);
      dataGridView1.DataSource = data;
    }
    

相关问题