Home  >  Article  >  Web Front-end  >  Detailed explanation of asynchronous reading of xlsx files by js-xlsx

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

php中世界最好的语言
php中世界最好的语言Original
2018-03-12 11:54:133069browse

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!

Statement:
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