将API数据导入Excel

时间:2015-11-16 18:33:07

标签: excel vba web asp.net-web-api powerpivot

我需要为我正在处理的Web应用程序的高级用户提供在Excel中创建自己的报表,分析等功能。基本上,他们需要创建一些Excel工作表,从Web应用程序读取一些数据,然后将结果与来自其他数据源的其他数据混合。

Web应用程序已经通过web api公开了JSON / XML格式的数据(不是完全REST,但这很重要),我会使用这个渠道在Excel中获取数据。

目前我脑子里有这三个选项:

  • 过去我用一些VBA代码和一个COM对象(与服务器/数据库交谈)解决了这样的请求,但我不确定今天是否仍然是这种类型的最佳解决方案工作
  • 我了解到,今天Excel有PowerPivot可以从Web服务读取数据。我可以为PowerPivot开发一个oData feed,但我不确定PowerPivot是否是用户需要的功能
  • 另一种解决方案可以使用ad-hoc Excel加载项

你会如何解决这样的请求?

2 个答案:

答案 0 :(得分:1)

Power Query是比Power Pivot更好的选择。 Power Pivot是一个维度建模和分析数据库(它完全是在Excel流程后面运行的SSAS表格的私有实例)。

Power Query是一个最终用户友好的ETL工具,作为Excel的加载项开发,从Office 2016开始本机提供。它允许直接加载到Excel工作表或Power Pivot模型。它将为您的最终用户提供更大的灵活性。它是一个GUI驱动的界面,是Microsoft查询语言的前端。

不幸的是,我无法过多地帮助Power Query,但它完全适合您的用例。

编辑:Power Query的另一个功能,可能无法满足您的需求,但我想我会投入。

Power Query可以直接从HTML表中读取。如果您在HTML表格中显示数据,您的最终用户只需直接从URL加载即可。

答案 1 :(得分:1)

Power Query肯定是"正确"微软世界中的工具。它还可以直接处理JSON和XML(和Odata)。它对数据的管理程度将取决于它的格式是多么好,但它可以通过一点点努力来处理大多数事情。

它是Excel 2016之前的免费Microsoft创作加载项,内置于Excel 2016中。