时间:2021-07-01 10:21:17 帮助过:102人阅读
请求主要函数:
function fetchAB(url, cb) { var xhr = new XMLHttpRequest;
xhr.open('get', url, true);
xhr.responseType = 'arraybuffer';
xhr.onload = cb;
xhr.send();
};结合js-xlsx读取xlsx文件在线示例:
<!DOCTYPE html><html><head>
<meta charset="UTF-8">
<title></title>
<script src="http://oss.sheetjs.com/js-xlsx/xlsx.full.min.js"></script>
<script>
function fetchAB(url, cb) { var xhr = new XMLHttpRequest;
xhr.open('get', url, true);
xhr.responseType = 'arraybuffer';
xhr.onload = cb;
xhr.send();
}; </script>
<script>
var wb; var url = ""
function importf() {//导入
url = document.getElementById("url").value; if (url) {
fetchAB(url, function () { if (this.status == 200) {
wb = XLSX.read(btoa(fixdata(this.response)), {//手动转化
type: 'base64'
}); document.getElementById("demo").innerHTML = JSON.stringify(XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]));
}
});
}
} function fixdata(data) {
var o = "",
l = 0,
w = 10240; for (; l < data.byteLength / w; ++l) o += String.fromCharCode.apply(null, new Uint8Array(data.slice(l * w, l * w + w)));
o += String.fromCharCode.apply(null, new Uint8Array(data.slice(l * w))); return o;
} </script></head><body>
<input type="text" id="url" />
<input type="button" onclick="importf()" value="读取" />
<div id="demo"></div></body></html>相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!
相关阅读:
js的随机字符串正则方法([A~Z],[a~z],[0~9])
用JS做的点击复制效果
浏览器html代码快速预览小工具
以上就是js-xlsx读取xlsx文件的异步详解的详细内容,更多请关注Gxl网其它相关文章!