有人知道 MVC 4 WebApi 是否可以(或将来能否)在 power-pivot 中使用吗?
有人知道 MVC 4 WebApi 是否可以(或将来能否)在 power-pivot 中使用吗?
Web API本身没有内置支持以OData格式公开端点。我们计划通过一个将来发布的插件来添加OData支持。
我认为如果您公开一个 IQueryable<T>
,它会将其公开为 OData 源。
我找到了这个。
http://codebetter.com/johnvpetersen/2012/03/22/bringing-odata-to-your-webapi-just-use-iqueryable/
在Excel 2013中,它作为数据源运行良好。在早期版本(例如Excel 2010)中,这里描述了一种解决方法:http://aspnetwebstack.codeplex.com/workitem/820
基本上,默认输出是JSON,而Excel没有发送正确的Accept标头以接收XML。因此,您必须将其添加到Web API的启动注册函数中:
IList<ODataMediaTypeFormatter> odataFormatters
= ODataMediaTypeFormatters.Create();
var jsonFormatter = odataFormatters
.First(f => f.SupportedMediaTypes
.Contains(MediaTypeHeaderValue.Parse("application/json")));
odataFormatters.Remove(jsonFormatter);
odataFormatters.Add(jsonFormatter);
config.Formatters.InsertRange(0, odataFormatters);