MVC 4 WebApi和PowerPivot如何结合?

6

有人知道 MVC 4 WebApi 是否可以(或将来能否)在 power-pivot 中使用吗?


Web API 目前可以提供 OData 格式的数据源,但我认为这个问题的核心是 Excel PowerPivot 是否能够连接到它。在设置数据源连接时,PowerPivot 需要在源 URL 上可用的某种方法列表。WCF 数据服务可以提供此功能,但 Web API 不行。 - Oliver Gray
3个回答

2

Web API本身没有内置支持以OData格式公开端点。我们计划通过一个将来发布的插件来添加OData支持。


1
有任何想法这会很快发货吗?同时,应该使用WCF数据服务吗? - Shane Castle
2
@ShaneCusson,此处提供预览版链接:http://nuget.org/packages/Microsoft.AspNet.WebApi.OData/0.1.0-alpha-120815。关于日期的更多讨论,请参见以下链接:http://aspnetwebstack.codeplex.com/discussions/391903 或 http://aspnetwebstack.codeplex.com/discussions/359229。 - marcind

1

1
我的理解是,通过WebApi公开IQueriable接口将使您能够使用OData URL约定进行查询组合,但这并不一定会启用PowerPivot。 - cmilhench
你是在说Excel Power Pivot还是BI? - Daniel A. White

0

在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);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接