0

我正在尝试从 excel 表中填充我的数据网格视图。我在这里收到的错误消息是,oledb 异常没有被处理->The 'Microsoft.ACE.OLEDB.14.0' provider is not registered on the local machine.我正在使用 2012 年的办公室,我是否必须使用任何参考。

我将anycpuX86 放在项目属性中。

有系统文件:

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:\test\csharp.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];



        }
4

2 回答 2

1

试试这个 connect.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.14.0;Data Source=C:\test\csharp.net-informations.xls;ExtendedProperties=Excel 12.0;";

它应该是最好的问候。

于 2013-01-02T06:47:55.370 回答
0

这是 connectionString 的问题:

connect.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.14.0;Data Source=C:\test\csharp.net-informations.xls;ExtendedProperties=""Excel 12.0;HDR=YES;""";

我已添加对项目的引用并更改为任何 CPU。

于 2012-10-10T08:27:23.037 回答