This time I will bring you a detailed explanation of the asynchronous operation of js-xlsx to read xlsx files. What are the precautions for asynchronous operations of using js-xlsx to read xlsx files? The following is a practical case, let's take a look.
Request main function:
function fetchAB(url, cb) { var xhr = new XMLHttpRequest; xhr.open('get', url, true); xhr.responseType = 'arraybuffer'; xhr.onload = cb; xhr.send(); };
Combined with js-xlsx to read xlsx file online example:
<!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>
I believe you have mastered the method after reading the case in this article, please come for more exciting information Pay attention to other related articles on php Chinese website!
Related reading:
JS’s random string regular method ([A~Z],[a~z],[0~9])
Click copy effect made with JS
Browser html code quick preview gadget
The above is the detailed content of Detailed explanation of asynchronous reading of xlsx files by js-xlsx. For more information, please follow other related articles on the PHP Chinese website!