在MS Excel 2013 powerpivot中更改连接字符串

时间:2015-01-20 12:53:32

标签: c# excel powerpivot

我正在开发相同的解决方案,我需要在Bulk.But中更新多个文件的连接字符串,它适用于MS Excel 2010而不适用于Excel 2013.

  

异常结果:“来自HRESULT的异常: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)
{ }

将连接字符串分配给OLEDBConnection时会发生这种情况。 需要MS Excel 2013 c#的解决方案。

2 个答案:

答案 0 :(得分:0)

每个连接都有属性" InModel"。设置此属性后,它将成为powerpivot连接,无法使用excel api进行更新。当您尝试此操作时,您将收到发布的错误消息。 你必须使用powerpivot插件中的dll。

答案 1 :(得分:0)

如果在连接字符串的开头添加OLEDB;,则可以进行分配。有same issue