【问题标题】:Getting API data into Excel将 API 数据导入 Excel
【发布时间】:2015-11-17 04:39:05
【问题描述】:
我需要让我正在开发的 Web 应用程序的高级用户能够在 Excel 中创建自己的报告、分析等。基本上,他们需要创建一些 Excel 工作表,从 Web 应用程序读取一些数据,然后将结果与来自其他数据源的进一步数据混合。
Web 应用程序已经通过 Web api 以 JSON/XML 格式公开数据(不完全是 REST,但这没关系),我将使用此通道在 Excel 中获取数据。
目前我脑子里有这三个选项:
- 过去我用一些 VBA 代码和一个 COM 对象(与服务器/数据库通信)解决了这样的请求,但我不确定今天这是否仍然是完成此类工作的最佳解决方案.
- 我了解到今天 Excel 具有可以从 Web 服务读取数据的 PowerPivot。我可以为 PowerPivot 开发 oData 提要,但我不确定 PowerPivot 是否是高级用户所需要的
- 另一种解决方案可以是 bean 即席 Excel 插件
您将如何解决这样的请求?
【问题讨论】:
标签:
excel
vba
web
asp.net-web-api
powerpivot
【解决方案1】:
在这里,Power Query 将是比 Power Pivot 更好的选择。 Power Pivot 是一个维度建模和分析数据库(它正是在 Excel 进程后面运行的 SSAS 表格的私有实例)。
Power Query 是一种最终用户友好的 ETL 工具,作为 Excel 的加载项开发,并且从 Office 2016 开始本机可用。它允许直接加载到 Excel 工作表或 Power Pivot 模型。它将为您的最终用户提供更大的灵活性。它是一个 GUI 驱动的界面,是微软开发的 M 查询语言的前端。
很遗憾,我无法为 Power Query 提供太多帮助,但它非常适合您的用例。
编辑:Power Query 的附加功能,可能无法满足您的需求,但我想我会加入。
Power Query 可以直接从 HTML 表中读取。如果您在 HTML 表格中显示数据,您的最终用户可以直接从 URL 加载。
【解决方案2】:
Power Query 绝对是 Microsoft 世界中的“正确”工具。它还可以直接处理 JSON 和 XML(以及 Odata)。它管理数据的好坏在一定程度上取决于它的格式有多好,但它可以处理大多数事情,只需要一点点努力。
它是 Microsoft 为 Excel 2016 之前的版本创建的免费插件,并内置在 Excel 2016 中。