OData WCF数据服务作为Excel中的一个来源

我有一个OData WCF数据服务,我使用reflection提供程序来公开数据。 目前我公开收集环境,具有以下结构:

{}环境
-名称
-ID
-描述
{UpdateTime}
– 开始时间
– 时间结束

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

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

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

谢谢!

我不确定您使用哪种function从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提要中导入数据,并在Power Query查询编辑器中展开包含集合的复杂types。

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

就我所知,Excel应该能够导入复杂的值而不会出现问题。 以下是我所做的:

  1. 在Excel中,转到数据 – >从其他来源 – >从OData数据馈送
  2. 对于数据馈送的位置,我input了一个testing服务http://services.odata.org/v3/odata/odata.svc/Suppliers 。 每个供应商都有一个称为Address的复杂types。

在Excel中,所有的地址都显示正常。

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