Verbinden mit PowerPivot mit C #

8

Ist es möglich, eine Verbindung zu einem PowerPivot-Modell in einer Excel-XLSX-Datei herzustellen? (Nicht auf einer SharePoint-Website gehostet ... nur die lokale Datei).

Es muss sein, da Tableau es kann.

Wer hat irgendwelche Hinweise?

    
WOPR 23.11.2011, 12:57
quelle

3 Antworten

8

Kurze Antwort:

  • Ja

Lange Antwort:

  • Aktualisierte Versionen von Excel oder PP (möglicherweise sogar Office Service Packs?) könnten Ihren Code beschädigen
  • Es ist uns gelungen, eine Verbindung zum PP-Modell mithilfe von AMO herzustellen (um der Datenquellensicht Tabellen hinzuzufügen, Dimensionen hinzuzufügen, Kennzahlen hinzuzufügen und das Modell von externen DBs zu aktualisieren). Wir fanden die Tabular AMO-Bibliothek auf Codeplex (https://tabularamo2012.codeplex.com/) SEHR hilfreich.
  • Es ist uns gelungen, eine Verbindung zum PP-Modell mithilfe von ADO (aber nicht ADOMD) herzustellen, um das Modell abzufragen (z. B. den Wert einer Kennzahl abfragen).

Referenzen / Credits:

Details:

  • Wie @gobansaor fanden wir, dass es hilfreich war, mit einer Arbeitsmappe zu beginnen, die bereits eine Verbindung zum PP-Cache hatte (notwendig?). Vor dem Verbinden mit dem PP-Cache über AMO stellen wir beispielsweise sicher, dass die Verbindung aktiv ist:

    ThisWorkbook.Connections["PowerPivot Data"].Reconnect()

    oder

    ThisWorkbook.Connections["PowerPivot Data"].Refresh()

  • Die für AMO verwendete Verbindungszeichenfolgemarke war: Provider=MSOLAP;Data Source=$Embedded$;Locale Identifier=1033;Location={0};SQLQueryMode=DataKeys und wir füllten diese mit ThisWorkbook.FullName

  • Nach @gobansaor haben wir uns über ADO mit dem Würfel verbunden:

    ADODB.Recordset recordSet = new ADODB.Recordset();

    recordSet.Open("SELECT [Measures].[Min of Field1] ON COLUMNS FROM [Model]", ThisWorkbook.Connections["PowerPivot Data"].OLEDBConnection.ADOConnection);

gap 28.08.2012, 17:59
quelle
2

Sie können ein VSTO-Add-In erstellen.

Hier ist eine Website, die die Arbeit mit PowerPivot und VSTO erklärt.

Ссылка

    
Justin Self 23.11.2011 16:17
quelle
1

Besser noch, werfen Sie einen Blick auf den C # -Quellcode des Excel-Aktualisierungsdienstes auf Codeplex - der zeigt, wie man öffnet und manipuliert PowerPivot-Cubes, die in Excel-Arbeitsmappen eingebettet sind.

Seien Sie sich dessen bewusst, worauf Sie hinaus wollen ... Excel-Automatisierung hat viele Eigenheiten und neigt dazu, instabil zu sein, wenn sie als Verbindung zu einem PowerPivot-Würfel verwendet wird.

    
Mark 25.10.2012 15:25
quelle

Tags und Links