最简单的方法来从Excel电子表格读取数据与JavaScript?
我有一个Excel电子表格中的机场代码,名称和位置列表,如下所示:
+-------+----------------------------------------+-------------------+ | Code | Airport Name | Location | +-------+----------------------------------------+-------------------+ | AUA | Queen Beatrix International Airport | Oranjestad, Aruba| +-------+----------------------------------------+-------------------+
我的Javascript是传递一个3个字符的string,应该是一个航空公司代码。 当发生这种情况时,我需要在电子表格中find代码并返回机场名称和位置。
我想像这样的东西:
var code = "AUA"; console.log(getAirportInfo(code)); function getAirportInfo(code) { // get information from spreadsheet //format info (no help needed there) return airportInfo; }
日志会写在哪里:
Oranjestad, Aruba (AUA): Queen Beatrix International Airport
从电子表格中获取所需数据的最简单方法是什么?
额外信息:
- 电子表格有超过17,000个条目
- 上面提到的function可能会被调用最多8次
- 我不必使用Excel电子表格就是我现在所拥有的
- 我永远不需要用我的代码编辑电子表格
我在网上search,但是我能find的所有东西都比我想要做的要复杂得多,这使我很难理解我在寻找什么。
谢谢你的帮助,指着我正确的方向。
我使用了纯文本文件(csv或tsv,这两个文件都可以直接从Excel中导出)
通过xmlhttprequest将其加载到stringvar中。 通常,浏览器caching将停止在每个页面加载下载文件。
然后有一个正则expression式根据需要parsing出这些值。
所有没有使用任何第三方….我可以挖出的代码,如果你想。
例如:您需要将data.txt文件放在与此页面相同的Web文件夹中,或更新path…
<html> <head> <script> var fileName = "data.txt"; var data = ""; req = new XMLHttpRequest(); req.open("GET", fileName, false); req.addEventListener("readystatechange", function (e) { data = req.responseText ; }); req.send(); function getInfoByCode(c){ if( data == "" ){ return 'DataNotReady' ; } else { var rx = new RegExp( "^(" + c + ")\\s+\\|\\s+(.+)\\s+\\|\\s+\\s+(.+)\\|", 'm' ) ; var values = data.match(rx,'m'); return { airport:values[2] , city:values[3] }; } } function clickButton(){ var e = document.getElementById("code"); var ret = getInfoByCode(e.value); var res = document.getElementById("res"); res.innerText = "Airport:" + ret.airport + " in " + ret.city; } </script> </head> <body> <input id="code" value="AUA"> <button onclick="clickButton();">Find</button> <div id="res"> </div> </body> </html>
我最终在shancarter.com/data_converter上使用了一个工具将我的flie转换为JSON文件并将其链接到我的页面。 现在我只是循环通过该JSON对象来获得我所需要的。 这似乎是对我的特殊需求最简单的方法。