[英]Mac Excel web query not working
我们使用web queries
在 Excel 中检索数据以用于报告目的。 这些 Web 查询在 Excel 2007、2010、2013 和 2016 中正常工作。
但是在Mac Excel 2016 中使用时它失败了。
我们使用VBA
执行这些 Web 查询并检索由Spring REST
接口生成的数据。
我已经尝试使用http GET
而不是http POST
并尝试通过 UI 执行 Web 查询(“数据”->“获取外部数据”->“使用.iqy
文件运行保存的查询”)。
此外,错误似乎与内容无关(尝试了非常简单的 html; <html><body><table><tr><td>col1</td></tr><tr><td>value1</td></tr></table></body></html>
) 。
使用Wireshark分析流量时,REST调用的响应是正确的( http 200
,内容正确)。
使用“.iqy”文件使用 UI 导入时报告的错误: "cannot locate the internet server or proxy server"
。 使用 VBA 执行 Web 查询时"Error 1004 Application-defined or Object-defined error"
: "Error 1004 Application-defined or Object-defined error"
。
有谁知道是什么导致了这种行为?
找到原因:Spring MVC (REST) 设置了一些默认标头。 其中之一是X-Content-Type-Options: nosniff
。 我们生成一些 REST 响应数据的方式导致没有设置Content-Type
标头。
Mac Excel 无法确定内容类型(因为 X-Content-Type-Options: nosniff 选项) 。
这可以通过不设置X-Content-Type-Options标头或显式设置Content-Type
标头来解决。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.