C# 将excel工作表导入DataGridView
我试图使用此代码将excel工作表导入data grideview,但引发了此异常,我不知道主要问题是什么 我正在尝试一些解决方案,如将活动解决方案平台从Anywhere更改为x86,但它不起作用 excel文件版本是否重要excel 2010、excel 2013 更新:C# 将excel工作表导入DataGridView,c#,excel,C#,Excel,我试图使用此代码将excel工作表导入data grideview,但引发了此异常,我不知道主要问题是什么 我正在尝试一些解决方案,如将活动解决方案平台从Anywhere更改为x86,但它不起作用 excel文件版本是否重要excel 2010、excel 2013 更新: 我从此安装了Microsoft Office Access数据库引擎,最后一个异常消失,但新异常被激发 这是使用的代码: public void importfromexcel() { strin
我从此安装了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;
}
此代码中是否存在任何问题??提前感谢。尝试下面的代码,并做一些小改动……它可以正常工作
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;
}
string WorkBookPath=@“D:\Test\Book1.xlsx”//@“E:\students.xlsx”;
字符串SheetName=“Sheet1$”;//最后一个错误看起来相当简单,要么您没有该文件的权限,要么该文件已打开。我猜如果你一直有问题,它可能仍然是开放的。您是否检查过任务管理器以查看是否有任何延迟访问进程仍在运行?@JohnG是的,我已检查过,没有任何延迟访问进程仍在运行!那Excel呢。。。看起来您正在打开一个Excel文件。当我重新启动visual studio时,此异常消失,但我当前的异常是:初始化字符串的格式不符合从索引107开始的规范。您应该仔细查看以下行…oledbataadapter sda=new OleDbDataAdapter(“选择*From[”+SheetPath+“$]”,con)代码>…看起来您正试图从文件名“E:\students.xlsx”中获取“工作表”?。。。工作表的名称是“E:\students.xlsx”?