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

OData WCF数据服务作为Excel中的源,excel,wcf,odata,expand,dataservice,Excel,Wcf,Odata,Expand,Dataservice,我有一个ODataWCF数据服务,我使用反射提供程序来公开数据。目前,我公开了一组环境,这些环境具有以下结构: {Environments} -名称 -Id -说明 -{UpdateTime} --开始时间 --结束时间 ,其中{UpdateTime}-ComplexType是环境更新时的时间集合,此处的关系为1:N 我正在使用Excel从OData服务生成一些报告。导入数据后,UpdateTime集合未显示在表中。我也尝试过在Environment集合上扩展$expand,但它对我也不起作用。

我有一个ODataWCF数据服务,我使用反射提供程序来公开数据。目前,我公开了一组环境,这些环境具有以下结构:

{Environments}
-名称
-Id
-说明
-{UpdateTime}
--开始时间
--结束时间

,其中{UpdateTime}-ComplexType是环境更新时的时间集合,此处的关系为1:N

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

问题:有没有办法让复杂类型显示在Excel中


谢谢大家!

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

Power Query for Excel是Microsoft官方制作的Excel的扩展,您可以在此处下载:。它比默认情况下随Excel安装的“数据”选项卡更强大,您可以对数据集进行大量整形和合并

安装后,它将作为一个新选项卡显示在Excel上,您可以轻松地从OData提要导入数据,并在Power Query editor中展开包含集合的复杂类型


对不起,我没有足够的声誉来附加图像。但您可以导航到此页面作为示例:

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

  • 在Excel中,转到数据->来自其他源->来自OData数据源
  • 对于数据提要的位置,我输入了
    http://services.odata.org/v3/odata/odata.svc/Suppliers
    ,一项测试服务。每个供应商都有一个称为Address的复杂类型
  • 在Excel中,所有地址信息都显示得很好


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

    Jen您好,只需复杂类型就可以了,但我指的是复杂类型的集合。