+
80
-

如何将本地的excel表格文件解析成json数组?

请问如何将本地的excel表格文件解析成json数组?

网友回复

+
0
-

用xlsx就可以了

<!doctype html>
<html lang="en">

<head>
    <meta charset="UTF-8">

    <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/xlsx.full.min.js"></script>
</head>

<body>
    请选择本地excel文件:<br>
    <input type="file" id="file"><br>

    <script>
        //首先监听input框的变动,选中一个新的文件会触发change事件
        document.querySelector("#file").addEventListener("change", function () {
            //获取到选中的文件
            var file = document.querySelector("#file").files[0];
            var type = file.name.split('.');
            if (type[type.length - 1] !== 'xlsx' && type[type.length - 1] !== 'xls') {
                alert('只能选择excel文件导入');
                return false;
            }
            const reader = new FileReader();
            reader.readAsBinaryString(file);
            reader.onload = (e) => {
                const data = e.target.result;
                const excel = XLS.read(data, {
                    type: 'binary'
                });
                const result = [];
                for (let i = 0; i < excel.SheetNames.length; i++) {
                    const newData = XLS.utils.sheet_to_json(excel.Sheets[excel.SheetNames[i]]);
                    result.push(...newData)
                }
                console.log('result', result)
            }
        });
    </script>
</body>
</html>

我知道答案,我要回答