Подключение к PowerPivot с помощью C # - PullRequest
8 голосов
/ 23 ноября 2011

Можно ли подключиться к модели PowerPivot в файле Excel .xlsx?(Не размещается на сайте SharePoint ... только локальный файл).

Должно быть, так как Tableau может это сделать.

У кого-нибудь есть какие-нибудь подсказки?

Ответы [ 3 ]

8 голосов
/ 28 августа 2012

Краткий ответ:

  • Да

Длинный ответ:

  • Обновленные версии Excel или PP (возможно, даже пакеты обновления для Office?) может нарушить ваш код
  • Нам удалось подключиться к модели PP с помощью AMO (чтобы добавить таблицы в представление источника данных, добавить измерения, добавить меры и обновить модель из внешних БД).Мы обнаружили, что табличная библиотека AMO в codeplex (https://tabularamo2012.codeplex.com/) ОЧЕНЬ полезна.
  • Нам удалось подключиться к модели PP с использованием ADO (но не ADOMD) для запроса модели (например, запросить значениемера).

Ссылки / Кредиты:

Подробности:

  • Как и @gobansaor, мы обнаружили, что начинать с рабочей книги, которая уже имеет соединение с кешем PP, было полезно (необходимо?). Перед подключением кнапример, кеш PP через AMO, мы уверены, что соединение живое:

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

    или

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

  • Шаблон строки подключения, который мы использовали для AMO, был: Provider=MSOLAP;Data Source=$Embedded$;Locale Identifier=1033;Location={0};SQLQueryMode=DataKeys, и мы заполнили его ThisWorkbook.FullName

  • Следуя @gobansaor, мы подключились к кубу через ADO, используя:

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

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

2 голосов
/ 23 ноября 2011

Вы можете создать надстройку VSTO.

Вот сайт, который помогает объяснить работу с PowerPivot и VSTO.

http://blogs.msdn.com/b/analysisservices/archive/2011/08/04/how-to-build-a-vsto-based-powerpivot-workbook.aspx

1 голос
/ 25 октября 2012

Еще лучше взглянуть на исходный код C # Службы обновления Excel для codeplex , который демонстрирует, как открывать и управлять кубами PowerPivot, встроенными в книги Excel.

Помните о том, с чем вы столкнетесь ... Автоматизация Excel имеет много особенностей и, как правило, нестабильна при использовании в качестве канала в куб PowerPivot.

...