2014-02-20 5 views
2

У меня есть служба данных OData WCF, и я использую Reflection Provider для предоставления данных. В настоящее время я экспонировать коллекцию, скажем, Environments, которые имеют следующую структуру:OData WCF Data Service как источник в Excel

{Окружения}
-Name
-Id
-Описание
- {UpdateTime}
--StartTime
--EndTime

, где {UpdateTime} - ComplexType, представляет собой коллекцию времен, когда среда была обновлена, а отношения здесь 1: N.

Я использую Excel для создания некоторых отчетов из этой службы OData. После импорта данных коллекция UpdateTime не отображается в таблице. Я также попробовал $ expand по коллекции Environment, но он не работает и для меня. Единственный способ, по которому я думаю, состоит в том, чтобы выставить связанную коллекцию как тип сущности и установить отношения, но {UpdateTime} коллекция не имеет смысла сама по себе.

Вопрос: Есть ли способ сделать ComplexTypes в Excel?

Спасибо!

ответ

4

Я не уверен, какие функции вы используете для импорта данных из вашего сервиса 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

+1

Yi Ding, спасибо! Это именно то, что я искал. – Marcello

1

Excel должен иметь возможность импортировать сложные значения без проблем, насколько мне известно. Вот что я сделал:

  1. В Excel, перейдите к Data-> Из других Sources-> Из OData Data Feed
  2. Для расположения канала данных, я вошел http://services.odata.org/v3/odata/odata.svc/Suppliers, тестовый сервис. Каждый поставщик имеет сложный тип, называемый Адрес.

В Excel все содержимое адреса появилось в порядке.

Так что я предполагаю, что есть проблема с вашей службой или URL-адресом, который вы предоставляете Excel. Если вы запрашиваете свой канал из браузера, правильно ли отображаются сложные значения?

+0

Здравствуйте, Джен, просто сложные типы прекрасно работают, но я имел в виду набор сложных типов. – Marcello