OData WCF Data Service как источник в Excel
У меня есть OData WCF Data Service, и я использую Reflection Provider для предоставления данных. В настоящее время я выставляю коллекцию, скажем, Сред, которые имеют следующую структуру:
{} Среды
-Название
-Я бы
-Описание
-{UpdateTime}
--Начальное время
--Время окончания
где {UpdateTime} - ComplexType, представляет собой набор случаев, когда среда была обновлена, и отношение здесь равно 1:N.
Я использую Excel для генерации некоторых отчетов из этого сервиса OData. После того, как я импортировал данные, коллекция UpdateTime не отображается в таблице. Я также пытался $ раскрыть коллекцию Environment, но она также не работает для меня. Единственный способ, о котором я думаю, - представить связанную коллекцию как тип сущности и установить отношения, но коллекция {UpdateTime} сама по себе не имеет смысла.
Вопрос: есть ли способ заставить ComplexTypes отображаться в Excel?
Спасибо!
2 ответа
Я не уверен, какие функции вы используете для импорта данных из службы OData. Но я думаю, что вы не используете Power Query for Excel, так как я много использовал его для импорта данных, содержащих такие расширяющиеся требования, и он работает просто отлично.
Power Query for Excel - это расширение Excel, официально сделанное Microsoft, и вы можете скачать его здесь: http://www.microsoft.com/en-in/download/details.aspx?id=39379. Он более мощный, чем вкладка "ДАННЫЕ", установленная в Excel по умолчанию, поэтому вы можете выполнять множество операций по формированию и объединению ваших наборов данных.
После установки он появится в Excel в качестве новой вкладки, и вы сможете легко импортировать данные из канала OData и расширять сложные типы, содержащие коллекции, в редакторе запросов Power Query.
Извините, у меня недостаточно репутации, чтобы прикрепить изображение. Но вы можете перейти к этой странице в качестве примера: http://office.microsoft.com/en-in/excel-help/expand-a-column-containing-a-related-table-HA103993865.aspx
Насколько мне известно, Excel должен иметь возможность импортировать сложные значения без проблем. Вот что я сделал:
- В Excel выберите Данные-> Из других источников-> Из источника данных OData
- Для расположения канала данных я ввел
http://services.odata.org/v3/odata/odata.svc/Suppliers
Тестовый сервис. Каждый поставщик имеет сложный тип, называемый адрес.
В Excel все содержимое адреса обнаружилось нормально.
Я предполагаю, что есть проблема с вашим сервисом или URL, который вы предоставляете Excel. Если вы запрашиваете ваш канал из браузера, правильно ли отображаются комплексные значения?