使用Excel 2010和参数的可刷新Web查询

5

我想从Feedburner的API中提取XML源。只需要编写URL并在Excel中使用“来自Web”的数据连接即可。

https://feedburner.google.com/api/awareness/1.0/GetItemData?uri=RSSFEEDNAME&dates=2011-08-01,2011-08-05

这很好用(而且速度相当快)。
现在,我想能够更新“日期”工作表中的两个单元格,以便它拉取该数据范围。这是使用URL参数完成的:

https://feedburner.google.com/api/awareness/1.0/GetItemData?uri=RSSFEEDNAME[]

使用Excel界面,我可以将[]分配给任何单元格。然而,无论我尝试什么,都不起作用。最初,我认为可能存在日期格式问题,因此我已经将(&dates=2011-08-01,2011-08-05)的完全副本作为文本输入到单元格中。

每次,该提要仅显示当前天的数据(如果未指定日期,则为默认行为)。它没有给出错误(对于相对较小的违规,例如没有两位数的月份),这使我认为它只是简单地没有用指定的文本替换[]。我还在为WebTrends Web Service查询使用相同的方法,并获得类似令人沮丧的结果。我已经阅读了有关网络查询的所有说明,并且正在严格遵循它们。

我找不到任何地方可以查看Excel请求的最终URL,所以这有点像瞎猜。非常感谢您对下一步工作的想法!

最好的, 纳森

2个回答

9
答案是否定的,不要使用Web查询“向导”,而是手动完成它。
  1. Open Notepad (or some text editor)
  2. In the editor type the following four lines:

    WEB
    1
    http://example.com/index.html?something=[]&somethingelse=[]
    [BLANK]
    
  3. Save it as anything with an .iqy extension.
  4. Open Excel, go to the Data ribbon, and click "Existing Connections"
  5. Click "Browse for More..."
  6. Find the IQY file you made and click "Open"

Excel会询问您想把结果数据放在哪里,然后为URL中输入的每个占位符弹出提示。这些提示允许您键入一个值或选择一个单元格作为数据。


很棒的解决方案,有没有关于日期格式化的建议?目前我正在获取我的日期参数的Excel整数。 - workabyte

1

我本以为dates应该是一个命名参数,并且你应该将其链接到包含日期值的单元格。

只要创建命名参数dates并将其链接到该单元格,该单元格的值应该只是2011-08-01,2011-08-05


你知道吗,我也尝试过那种方法。问题在于当一个日期变量没有数据时,网络服务会出错。因此,使用占位符设置从未给我带来良好的XML,而且一旦良好的XML数据传输过来,Excel也不会更改它的想法。 - nathanziarek

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