Home > Web Front-end > JS Tutorial > body text

Detailed explanation of asynchronous reading of xlsx files by js-xlsx

php中世界最好的语言
Release: 2018-03-12 11:54:13
Original
3051 people have browsed it

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();
        };
Copy after login

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>
Copy after login

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!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!