Можно ли подключиться к модели PowerPivot в файле Excel .xlsx?(Не размещается на сайте SharePoint ... только локальный файл).
Должно быть, так как Tableau может это сделать.
У кого-нибудь есть какие-нибудь подсказки?
Краткий ответ:
Длинный ответ:
Ссылки / Кредиты:
Подробности:
Как и @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
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);
Вы можете создать надстройку VSTO.
Вот сайт, который помогает объяснить работу с PowerPivot и VSTO.
http://blogs.msdn.com/b/analysisservices/archive/2011/08/04/how-to-build-a-vsto-based-powerpivot-workbook.aspx
Еще лучше взглянуть на исходный код C # Службы обновления Excel для codeplex , который демонстрирует, как открывать и управлять кубами PowerPivot, встроенными в книги Excel.
Помните о том, с чем вы столкнетесь ... Автоматизация Excel имеет много особенностей и, как правило, нестабильна при использовании в качестве канала в куб PowerPivot.