を。これは、Office 365のプログラムを介してオフィス16へのOffice 13のインストールをローカルからアップグレードした後、私のために起こりました。この例外が発生しました。「Microsoft.ACE.OLEDB.12.0」プロバイダがローカルマシンに登録されていません。
Office 365のインストールプロセスでドライバをインストールする方法が見つかりませんでした。
私はhttps://www.microsoft.com/en-us/download/details.aspx?id=13255をインストールしなければなりませんでした。x64バージョンでは問題が解決されず、32ビットバージョンを使用しなければなりませんでした。それを使用して
のApp.config
で私の接続文字列
<add key="Excel07ConnectionString" value="Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 8.0;HDR=YES'"/>
コード:
var excelConnectionString = ConfigurationSettings.GetExcelConnection(fileLocation);
var dataTable = new DataTable();
using (var excelConnection = new OleDbConnection(excelConnectionString))
{
excelConnection.Open();
var dataAdapter = new OleDbDataAdapter("SELECT * FROM [Users$]", excelConnection);
dataAdapter.Fill(dataTable);
excelConnection.Close();
}
Console.WriteLine("OpenExcelFile: File successfully opened:" + fileLocation);
return dataTable;
重要なのはx64bitsについて言及しました。それはすべて私の問題でした。 – celerno