2

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

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

4

2 回答 2

1

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

如何将 Yahoo Finances 中的数据导入 Excel?

  1. 转到数据 → 从 Web

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

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

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

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

很高兴知道:

于 2017-07-19T13:56:08.510 回答
0

Excel中的汇率

调用 URL 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 并显示以下菜单:Data / Get External Data / Run Saved Query ... 键入上一节中文本文件的位置和名称(例如 excelquery.txt)。查询被视为公式。分配的单元格可以存储在另一个工作表中。

外部数据的选择

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

选择货币作为参数

可选择货币作为参数的三种可能方式。

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

用户输入

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

下次调用 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);

于 2016-06-21T08:49:30.207 回答