我一直在尝试使用 C# 访问 2016 MS Excel 文件,但连接字符串只能在 2013 MS Excel 之前工作。
我当前的连接字符串:
提供程序=Microsoft.ACE.OLEDB.12.0;数据源=c:\myFolder\myExcel2007file.xlsx;
扩展属性=“Excel 12.0 Xml;HDR=YES”;
MS Excel 2016 是否有任何修改过的 oledb 连接字符串?
通过 Office 365 程序从本地安装的 Office 13 升级到 Office 16 后,我发生了这种情况。我收到此异常:“Microsoft.ACE.OLEDB.12.0”提供程序未在本地计算机上注册。
我无法找到通过 Office 365 安装过程安装驱动程序的方法。
我必须安装https://www.microsoft.com/en-us/download/details.aspx?id=13255 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;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)