Maison > interface Web > js tutoriel > Explication détaillée de la lecture asynchrone des fichiers xlsx par js-xlsx

Explication détaillée de la lecture asynchrone des fichiers xlsx par js-xlsx

php中世界最好的语言
Libérer: 2018-03-12 11:54:13
original
3100 Les gens l'ont consulté

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();
        };
Copier après la connexion

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>
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal