Excel的当前汇率

时间:2016-06-21 08:49:30

标签: php excel ms-office automatic-updates currency-exchange-rates

有没有办法在MS-Excel中导入当前汇率并保持更新? Excel提供了一种调用URL并将响应导入单元格的方法。

有几位教授。互联网上的服务,但我想确保没有数据记录,并提供的信息是最新的。它应该是免费的......

2 个答案:

答案 0 :(得分:1)

这是一个无编码的解决方案。您可以从Yahoo Finances以CSV格式下载数据,并将其作为查询导入Excel。

如何将数据从Yahoo Finances导入Excel?

  1. 转到数据→从网络

  2. 在字段URL中指定数据网址,例如对于美元兑欧元汇率: http://download.finance.yahoo.com/d/quotes.csv?s=USDEUR=X&f=b

  3. 加载。将自动创建包含所需数据的新工作表。

  4. 您可以通过分别取消选择标题行带状行来隐藏标题和单元格的样式。

  5. 这就是全部,现在你有一个包含所需数据的单元格。您可以像在Excel中的任何其他单元格那样引用单元格。

    很高兴知道:

答案 1 :(得分:0)

Excel中的汇率

调用网址http://genia.berlin/usd.php以获得与美元相比的实际汇率。精度为小数点后4位。错误的调用返回空结果,没有错误消息。以ISO 4217表示法给出的一个参数,例如:http://genia.berlin/usd.php?eur

提供的信息不附带任何保证!

可在此处找到包含屏幕截图的分步解决方案:https://eves.genia.berlin/excelquery_e.html

创建一个文本文件。名称可以自由选择。请确保URL后面有一个空行。

WEB
1
http://genia.berlin/usd.php?["Currency","Enter currency code (ISO 4217)"]

Selection=EntirePage
Formatting=None
PreFormattedTextToColumns=True
ConsecutiveDelimitersAsOne=True
SingleBlockTextImport=False
DisableDateRecognition=False
DisableRedirections=True

选择存储的请求

启动Excel并显示以下菜单:数据/获取外部数据/运行保存的查询... 从上一节中键入文本文件的位置和名称(例如,excelquery.txt)。 该查询被视为公式。分配的单元格可以存储在另一个工作表中。

选择外部数据

在选择属性时,可以在打开Excel文档时设置不同的设置,例如自动更新。

选择货币作为参数

有三种方法可以选择货币作为参数。

  1. 用户输入(使用此字符串提示值)
  2. 指定字符串,例如EUR(使用此值)
  3. 指定包含字符串的Excel单元格(从中获取值) 这个细胞)
  4. 按用户输入

    在对话框中提示用户指定货币。他还可以确定是否在将来更新同一文档时再次使用该输入。

    下次调用Excel文件时,会发出警告。必须由用户确认数据检索的连接。

    以下是服务器端的代码剪切(PHP):

    <?php if ($p= substr ($_SERVER['QUERY_STRING'], 0, 3)) { $pu= strtoupper ($p); if (preg_match ('/^(?: BGN|CHF|CZK|DKK|EEK|EUR|GBP|HRK|HUF|ISK|LTL|LVL|MDL|MKD|NOK|PLN|RON|RSD|RUB|SEK|SKK|TRY|UAH| BDT|BND|CNY|FJD|HKD|IDR|INR|JPY|KRW|LKR|MVR|MYR|NPR|PHP|PKR|SGD|THB|TWD|VND|IQD| ANG|ARS|BOB|BRL|CAD|CLP|COP|CRC|DOP|HNL|KYD|MXN|NIO|PEN|PYG|SVC|TTD|UYU|VEF| BWP|DZD|EGP|KES|MAD|MUR|NAD|NGN|PGK|SCR|SLL|TZS|UGX|XOF|ZAR|ZMK| AED|AUD|BHD|ILS|JOD|KWD|KZT|LBP|NZD|OMR|QAR|SAR|TND|UZS|YER )$/x', $pu)) { $pl= strtolower ($p); if ($x= simplexml_load_file ("http://xxxxx/$pl.xml", null, LIBXML_NOCDATA)) { if (preg_match ("/(\d+)\.(\d+)\s*$pu/", (string) $x->channel->item->description, $currency)) { header ('Content-type: text/plain'); header ('Cache-Control: no-cache, must-revalidate'); echo "$currency[1],$currency[2]"; //Excel braucht Komma statt Punkt exit; } } } } header ('HTTP/1.1 204 No Content', true, 204);