xlsx
を使用して C# でファイルを読み取るコンソール アプリケーションを作成しましたOleDbConnection
。次のエラーがスローされます
Microsoft.ACE.OLEDB.12.0' プロバイダーがローカル コンピューターに登録されていません。
以下は私が書いたコードです
string connString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:\Suganya\ColumnReport.xlsx;Extended Properties=Excel 12.0;";
OleDbConnection objConn = new OleDbConnection();
OleDbDataAdapter dataAdapter = new OleDbDataAdapter();
objConn = new OleDbConnection(connString);
string Query = "SELECT * FROM [Sheet1$]";
OleDbCommand objCmd = new OleDbCommand(Query, objConn);
DataTable Table = new DataTable();
dataAdapter.SelectCommand = objCmd;
dataAdapter.Fill(Table);
問題を解決するために、私はすでに次のことを実行しました。
AccessDatabaseEngine.exe
(32ビット)をインストールしましたACEOLEDB.dll
が、次のパスに存在することがわかりましたC:\Program Files (x86)\Common Files\microsoft shared\OFFICE14
ACEOLEDB.dll
アプリでを参照してみました。しかし、それは私に次のエラーを与えました「ACEOLEDB.DLL」への参照を追加できませんでした。ファイルにアクセスできること、および有効なアセンブリまたは COM コンポーネントであることを確認してください
コンソール アプリケーションの構成プラットフォームは 32 ビットです
環境の詳細
- Windows Server 2008 (64 ビット)
- Visual Studio 2010 (32 ビット)
- MSオフィスがインストールされていません
問題を解決するために次のリンクを確認しました
1. http://www.codeproject.com/Questions/486549/Theplus-27Microsoft-ACE-Oledb-12-0-27plusproviderp 2. http://www.codeproject.com/Questions/337953/The-Microsoft-ACE -OLEDB-12-0-provider-is-not-regis
どんな助けでも大歓迎です。