在MS Excel 2013 powerpivot中更改连接string

我正在处理相同的解决scheme,我需要更新Bulk.But中的多个文件的连接string,它的工作MS Excel 2010,而不是Excel 2013。

exception结果:“来自HRESULT的exception:0x800A03EC”

代码片段:

Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application(); Microsoft.Office.Interop.Excel.Workbook ppWorkbook = (Microsoft.Office.Interop.Excel.Workbook)xlApp.Workbooks.Open(fileNameBox.Text); Microsoft.Office.Interop.Excel.Connections connections = ppWorkbook.Connections; string newConnectionString = "Connection String"; try { foreach (Microsoft.Office.Interop.Excel.WorkbookConnection connection in connections) { connection.OLEDBConnection.Connection = newConnectionString; } } catch (Exception ex) { } 

在将连接string分配给OLEDBConnection时发生。 需要MS Excel 2013 c#的解决scheme。

每个连接都有属性“InModel”。 当这个属性设置它是一个powerpivot连接,不能用excel api更新。 当你尝试这个,你会得到张贴的错误消息。 您必须使用powerpivot插件中的dll。

如果添加OLEDB;你可以做任务OLEDB; 在连接string的开头。 有同样的问题 。