Cette fois, je vais vous apporter une explication détaillée du fonctionnement asynchrone de js-xlsx pour lire des fichiers xlsx. Quelles sont les précautions à prendre pour les opérations asynchrones d'utilisation de js-xlsx pour lire des fichiers xlsx. Voici un cas pratique, prenons ? un regard.
Fonction principale de requête :
function fetchAB(url, cb) { var xhr = new XMLHttpRequest; xhr.open('get', url, true); xhr.responseType = 'arraybuffer'; xhr.onload = cb; xhr.send(); };
Combiné avec js-xlsx pour lire le fichier xlsx en ligne, exemple :
<!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>
Je crois que vous maîtrisez la méthode après avoir lu le C'est le cas dans cet article. Pour un contenu plus passionnant, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !
Lecture connexe :
Méthode régulière de chaîne aléatoire de JS ([A~Z],[a~z],[0~9])
Effet de copie de clic réalisé avec JS
Gadget d'aperçu rapide du code HTML du navigateur
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!