Excel 如何使用多个表加载powerpivot数据模型?

Excel 如何使用多个表加载powerpivot数据模型?,excel,vb.net,vba,vsto,excel.application,Excel,Vb.net,Vba,Vsto,Excel.application,我需要根据一些表格创建一个Excel应用程序 我在VBA中运行了代码,它成功了。在“VisualStudio”中,它不起作用 我的代码在这里: Dim xlApp As Excel.Application xlApp = Globals.ThisAddIn.Application xlApp.ActiveWorkbook.Connections.Add2("Target Connection Name", "", _ "OLEDB;Provider=SQLOLEDB.1;Integra

我需要根据一些表格创建一个Excel应用程序

我在VBA中运行了代码,它成功了。在“VisualStudio”中,它不起作用

我的代码在这里:

Dim xlApp As Excel.Application
xlApp = Globals.ThisAddIn.Application
xlApp.ActiveWorkbook.Connections.Add2("Target Connection Name", "", _
     "OLEDB;Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=True;Data Source=SERVER\SQLEXPRESS;Use Procedure for Prepare=1;Auto Translate=True;Packet 
      Size=8192;Workstation ID=NAME;Use Encryption for Data=False;Tag with column collation when possible=False;Initial Catalog=MYSQLDATABASE;", _
      """TAB_CATEGORIA"",""TAB_MOVIMENTO""", Excel.XlCmdType.xlCmdTableCollection, vbTrue, vbTrue)
执行此代码时,我收到以下消息:

“找不到盒带目录。请使用Windows安装程序。” 修复应用程序。”

我意识到,当我们生成一个新实例时,它是有效的:

Dim xlApp As NEW Excel.Application 
但是,不幸的是,我需要当前实例

xlApp = Globals.ThisAddIn.Application
当我使用“Globals.ThisAddIn.Application”生成WorkbookConnection对象时,会引发异常

更多信息

  • Office 2013更新版
  • Visual Studio 2015已更新
****您可以在我的堆栈跟踪下方看到*****

System.Runtime.InteropServices.COMException was unhandled by user code
  ErrorCode=-2146827284
  HelpLink=xlmain11.chm
  HResult=-2146827284
  Message=Não pudemos obter dados do Modelo de Dados. Veja a mensagem de erro que recebemos:

The cartridge directory could not be found. Use the Windows Installer to repair the application. 
  Source=Microsoft Excel
  StackTrace:
       em System.RuntimeType.ForwardCallToInvokeMember(String memberName, BindingFlags flags, Object target, Int32[] aWrapperTypes, MessageData& msgData)
       em Microsoft.Office.Interop.Excel.Connections.Add2(String Name, String Description, Object ConnectionString, Object CommandText, Object lCmdtype, Object CreateModelConnection, Object ImportRelationships)
       em ExcelAddIn2.Conectar.Button1_Click(Object sender, RibbonControlEventArgs e) na D:\work\projetos\SPHERA\OmieDecisionMaker\OmieDecisionMaker\ExcelAddIn2\Ribbon1.vb:linha 37
       em Microsoft.Office.Tools.Ribbon.RibbonPropertyStorage.ControlActionRaise(IRibbonControl control)
       em Microsoft.Office.Tools.Ribbon.RibbonPropertyStorage.ButtonClickCallback(RibbonComponentImpl component, Object[] args)
       em Microsoft.Office.Tools.Ribbon.RibbonManagerImpl.Invoke(RibbonComponentCallback callback, Object[] args)
       em Microsoft.Office.Tools.Ribbon.RibbonManagerImpl.System.Reflection.IReflect.InvokeMember(String name, BindingFlags invokeAttr, Binder binder, Object target, Object[] args, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParameters)
  InnerException:

似乎存在不兼容,将office 2016视为一个单线程应用程序。它使Add2命令从Excel UI中被阻止

你可以在这里看到完整的答案:

谢谢大家!