我正在尝试从Excel工作表填充我的数据网格视图。我在这里得到的错误消息是,oledb 异常被取消 -> The 'Microsoft.ACE.OLEDB.14.0' provider is not registered on the local machine.
我是 uisng office 2012,我必须使用任何引用。
我将 X86 放在项目属性anycpu
。
有系统文件:
using System;
using System.Data;
using System.Drawing;
using System.Reflection;
using System.Collections.Generic;
using System.Windows.Forms;
using Excel = Microsoft.Office.Interop.Excel;
using System.Data.OleDb;
private void importXSLToolStripMenuItem_Click(object sender, EventArgs e)
{
OleDbConnection connect = new OleDbConnection();
connect.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:testcsharp.net-informations.xls;ExtendedProperties=""Excel 14.0;HDR=YES;""";
OleDbCommand command = new OleDbCommand("SELECT ID, TYPE, BeginBorder (mm),EndBorder (mm)," + "FROM [P2S2$]", connect);
DataSet ds = new DataSet();
OleDbDataAdapter adapter = new OleDbDataAdapter(command);
adapter.Fill(ds);
dataGridView1.DataSource = ds.Tables[0];
}
试试这个连接。ConnectionString = @"Provider=Microsoft.ACE.OLEDB.14.0;Data Source=C:\test\csharp.net-informations.xls;扩展属性=Excel 12.0;";
它应该是工作此致敬意。
这是connectionString的问题:
connect.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.14.0;Data Source=C:testcsharp.net-informations.xls;ExtendedProperties=""Excel 12.0;HDR=YES;""";
我添加了对项目的引用并更改为任何 CPU。