0

Excel シートからデータグリッド ビューを埋めようとしています。ここで表示されるエラー メッセージは、oledb exception was unhandled です --> The 'Microsoft.ACE.OLEDB.14.0' provider is not registered on the local machine.Office 2012 を使用しています。参照を使用する必要がありますか。

anycpuプロジェクトのプロパティにX86を入れました。

システムファイルがあります:

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 に答える