我的应用程序基本上接受Excel文件并将数据上传到我的数据库,该数据库过去与Excel 2010完美配合,代码如下。但是,我们将系统更新为Excel 2016,它因某种原因停止工作,您能否帮助我更新代码。
这是当前要连接的代码:
openFileDialog1.ShowDialog();
var fileName = string.Format(openFileDialog1.FileName);
Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbook excelWorkbook = excelApp.Workbooks.Open(fileName, 1, false, 5, "", "", false, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, false, null, false);
var connectionString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileName + "; Extended Properties=Excel 12.0;", fileName);
3条答案
按热度按时间tct7dpnv1#
我在一个相关的问题中回答了这个问题,这是由于升级到Office 16:c#中excel 2016的oledb连接字符串
qxgroojn2#
我没有Excel 2016,所以我不能测试它,但这应该工作。
另外,考虑这样做。
最后,看看这个关于Excel connection strings的网站。
pexxcrt23#
这可能是因为安装破坏或更改了已注册的
ACE
驱动程序的现有版本。可能需要重新安装ACE
才能使其再次工作。请注意,如果版本更改,则可能需要更新连接字符串您应该能够通过注册表查看计算机上可用的版本: