【发布时间】:2017-12-11 14:59:45
【问题描述】:
我想尝试多重加载 xls 文件并在 SheetJS 中查看值,但只能在数组 url 中最后工作。
<!doctype html>
<html>
<head>
<title>Excel to JSON Demo</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.10.7/xlsx.full.min.js"></script>
</head>
<body>
<script>
/* set up XMLHttpRequest */
var url = new Array();
url.push("2017_01_Zole.xls");
url.push("2017_03_TK.xls");
url.push("2017_05_Psy.xls");
for(var z = 0; z<url.length; z++){
var oReq = new XMLHttpRequest();
oReq.open("GET", url[z], true);
oReq.responseType = "arraybuffer";
oReq.onload = function(e) {
var arraybuffer = oReq.response;
/* convert data to binary string */
var data = new Uint8Array(arraybuffer);
var arr = new Array();
for(var i = 0; i != data.length; ++i) arr[i] = String.fromCharCode(data[i]);
var bstr = arr.join("");
/* Call XLSX */
var workbook = XLSX.read(bstr, {type:"binary"});
/* DO SOMETHING WITH workbook HERE */
var first_sheet_name = workbook.SheetNames[0];
/* Get worksheet */
var worksheet = workbook.Sheets[first_sheet_name];
// jsn = XLSX.utils.sheet_to_json(worksheet,{raw:true});
console.log(worksheet['F3'].v +' = '+ worksheet['J3'].v);
};
oReq.send();
}
</script>
</body>
</html>
在每个循环之后,我想在 console.log 中显示结果。不幸的是,它只显示了最后一个文件中的数据。
【问题讨论】:
标签: javascript xls