Ton*_*bet 4 javascript excel jquery json
我想<select></select>
根据具有以下格式的Excel文件动态创建(或者可能是具有自动完成的文本框)输入文件:
Airport Code Airport Name Language Code
AAC Al Arish en
AAE Annaba Les Saline en
AAH Aachen Merzbruck en
AAL Aalborg en
AAN Al Ain en
AAQ Anapa en
AAR Aarhus Tirstrup en
AAU Asau en
Run Code Online (Sandbox Code Playgroud)
(还有更多)
我需要打开.xls文件并读取每一行,以便我可以将两个第一列作为锚点和值.
这是我发现的最相关的内容,链接被破坏如何使用JavaScript读取和写入文件
有没有一个适用于IE7的解决方案
小智 6
如果您的文件位于http服务器上,则可以使用AJAX读取它.
我们首先定义一些常量:
var CSV_URL = "http://server.domain/path/file.csv";
var CSV_COLUMN = ';'
var CSV_ROW = '\n'
Run Code Online (Sandbox Code Playgroud)
CSV_URL是CSV文件的网址.
CSV_COLUMN是分隔列的分隔符.
CSV_ROW是分隔行的分隔符.
现在我们需要进行AJAX查询以获取CSV数据内容.我正在使用jQuery来执行AJAX请求.
$.get (CSV_URL, null, function (data) {
var result = parse_csv (data);
var e = create_select (result);
document.body.appendChild (e);
});
Run Code Online (Sandbox Code Playgroud)
好的,现在我们需要解析数据......
function parse_csv (data) {
var result = new Array();
var rows = data.split (CSV_ROW);
for (var i in rows) {
if (i == 0) continue; // skip the first row
var columns = rows[i].split (CSV_COLUMN);
result.push ({ "value": columns[1], "text": columns[0] });
}
return result;
}
Run Code Online (Sandbox Code Playgroud)
...并创建选择:
function create_select (data) {
var e = document.createElement ('select');
for (var i in data) {
var option = document.createElement ('option');
option.value = data[i].value;
option.innerHTML = data[i].text;
e.appendChild (option);
}
return e;
}
Run Code Online (Sandbox Code Playgroud)
除AJAX请求之外的所有内容都是纯JavaScript.如果由于某种原因你不想要jQuery,你也可以在纯JS中编写你的AJAX请求.