2014-02-20 56 views
2

我有一个OData WCF数据服务,我使用反射提供程序来公开数据。目前我揭露的,比方说,环境集合,它具有以下结构:作为Excel中的源OData WCF数据服务

{}环境
杂牌
-Id
-Description
- {}更新时间
- 开始时间
- EndTime

,其中{UpdateTime} - ComplexType是时间的集合,当Environment被更新并且这里的关系是1:N时。

我正在使用Excel从该OData服务生成一些报告。导入数据后,UpdateTime集合未显示在表中。我也在Environment集合上尝试了$ expand,但它对我也不起作用。我想到的唯一方法是将相关集合公开为实体类型并设置关系,但{UpdateTime}集合本身没有意义。

问题:是否有任何方法可以使Excel中显示ComplexTypes?

谢谢!

回答

4

我不确定您使用哪种功能从OData服务导入数据。但是我猜你没有使用Power Query for Excel,因为我一直用它来导入包含这种扩展需求的数据,而且它的工作原理非常完美。

Power Query for Excel是Microsoft正式提出的Excel的扩展,您可以在这里下载它:http://www.microsoft.com/en-in/download/details.aspx?id=39379。它比默认安装在Excel中的“数据”选项卡更强大,您可以对数据集进行大量修改和合并。

你已经安装了它之后,它会显示在Excel作为一个新的选项卡,您可以轻松地从OData源的功率查询查询编辑器中导入数据和扩展复杂的包含类型的集合。

对不起,我没有足够的声望来附加图像。但是,您可以导航到此页面作为示例:http://office.microsoft.com/en-in/excel-help/expand-a-column-containing-a-related-table-HA103993865.aspx

+1

易丁,谢谢!这正是我所期待的。 – Marcello

1

据我所知,Excel应该能够导入复杂值而不存在问题。下面是我所做的:

  1. 在Excel中,转到数据 - >从其他来源 - >从OData的数据饲料
  2. 对于该数据源的位置,我进入http://services.odata.org/v3/odata/odata.svc/Suppliers,测试服务。每个供应商都有称为地址的复杂类型。

在Excel中,所有的地址显示的东西了罚款。

所以我猜你的服务或你提供给Excel的URL有问题。如果您通过浏览器请求您的Feed,那么复杂的值是否显示正确?

+0

你好仁,只是复杂的类型工作正常,但我指的是复杂类型的集合。 – Marcello

相关问题