如何在ms excell 2013中调用Web服务

时间:2015-05-30 10:41:19

标签: asp.net

任何正文都可以帮我解决如何在ms excel 2013中调用网络服务的请求吗?我试图通过在Excel中使用WebService函数来使用,但这对我不起作用。

1 个答案:

答案 0 :(得分:0)

要了解如何使用Webservice功能,我们将做两件事:

使用= WEBSERVICE(url)函数获取数据 使用= FILTERXML(xml,xpath)函数从XML字符串中提取单个数据 使用= WEBSERVICE(url)函数获取数据

首先,找一个Web服务。有关天气更新的此示例,请转到http://www.wunderground.com/weather/api以创建您的免费帐户。填写表单,然后单击“注册API密钥”。

要设置API密钥,请按以下步骤操作:

根据您的喜好选择积云计划或铁砧计划。 选择您喜欢的历史附加组件的任何选项。这两个选项都适用于此示例,因为我们没有使用历史信息。 选择Developer。注意:其他可用选项也适用于此示例,但请注意与它们相关的费用。 单击“更新计划” 在页面顶部,单击“文档”。 在标题为“API目录”的左侧导航栏上,找到“数据功能”标题,然后在该标题下单击“条件”。 (你也可以去http://www.wunderground.com/weather/api/d/docs?d=data/conditions) 滚动到页面底部,然后复制标有示例的框中显示的URL。 (URL格式如下所示:http://api.wunderground.com/api/[APIKey]/conditions/q/CA/San_Francisco.json)。示例网址将包含您唯一的API密钥。 现在您已拥有唯一的API密钥,请打开Excel电子表格并按照以下步骤为当前天气情况创建= WEBSERVICE(url)函数:

在单元格B5中,输入= WEBSERVICE(url)。然后将url替换为您刚才复制的唯一URL(包括您的API密钥)。 在URL的两侧添加引号。格式如下:“http://api.wunderground.com/api/[APIKey]/conditions/q/CA/San_Francisco.json” 用邮政编码替换URL中的州和城市,然后将.xml添加到URL的末尾。单元格B5中的公式应如下所示:= WEBSERVICE(“http://api.wunderground.com/api/[APIKey]/conditions/[ZipCode].xml”)[APIKey]将是您唯一的API密钥,[邮政编码]将用于您想要天气更新的位置。 按Enter键或Return键。该公式将从Web服务返回XML字符串。

您还可以使用Webservice函数中的单元格引用来更新URL参数,例如邮政编码。以下是设置方法:

在单元格B1中,粘贴API密钥。在名称框中,键入APIkey以命名单元格。 在单元格B2中,输入邮政编码。在名称框中,键入ZipCode以命名单元格。 使用单元格引用创建WEBSERVICE函数。公式应采用以下格式:= WEBSERVICE(“http://api.wunderground.com/api/”& APIkey&“/ conditions / q /”& ZipCode&“。xml”) 将整个公式复制并粘贴到单元格B5中。 更新您的邮政编码,然后您将看到WEBSERVICE功能URL的更新。

使用= FILTERXML(xml,xpath)函数从XML字符串中提取单个数据

现在我们已经从Excel电子表格中获取了Web服务的信息,我们需要从XML中提取我们想要的数据,包括城市名称和当前温度以及当前的天气状况。要提取数据,请按以下步骤操作:

  1. 在单元格B8中,输入= FILTERXML(B5,“// full”)函数。这将为您提供与邮政编码相关联的城市名称。

  2. 在单元格C8中,输入= FILTERXML(B5,“// temp_f”)以华氏度提取当前温度。

  3. 在单元格D8中,输入= FILTERXML(B5,“// weather”)以查看当前的天气状况,例如小雨。

  4. 随着在线天气更新,现在我们的野营旅行计划协作电子表格如下所示:

    关于刷新数据的说明

    请注意,WEBSERVICE函数是“非易失性”,这意味着它们仅在以下情况下刷新:

    编辑引用的单元格 刷新整个工作簿(CTRL + ALT + F9) 请记住,您可以通过互联网将此功能用于许多不同的Web服务,然后使用Excel进行分析。