当前位置: 移动技术网 > IT编程>开发语言>JavaScript > 前端JS实现一键导入excel表格

前端JS实现一键导入excel表格

2019年07月30日  | 移动技术网IT编程  | 我要评论
前面的文章中已经讲过关于js表格的导出,此文章主要说到的是excel文件如何导入到网页中,并在网页端显示。 代码部分: 导入前的表格: 导入后的显示: ...

前面的文章中已经讲过关于js表格的导出,此文章主要说到的是excel文件如何导入到网页中,并在网页端显示。

代码部分:

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>js导入excel</title>
</head>
<body>
<input type="file"onchange="importf(this)" />
<p id="excelcontent"></p>
<script src="xlsx.full.min.js"></script>
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.js"></script>
<script src="https://cdn.bootcss.com/xlsx/0.11.5/xlsx.core.min.js"></script>
<script>

    var wb;//读取
    var rabs = false; 

    //开始导入
    function importf(obj) {
        if(!obj.files) {
            return;
        }
        var f = obj.files[0];
        var reader = new filereader();
        reader.onload = function(e) {
            var data = e.target.result;
            if(rabs) {
                wb = xlsx.read(btoa(fixdata(data)), {//手动转化
                    type: 'base64'
                });
            } else {
                wb = xlsx.read(data, {
                    type: 'binary'
                });
            }
            /**
             * wb.sheetnames[0]是获取sheets中第一个sheet的名字
             * wb.sheets[sheet名]获取第一个sheet的数据
             */
            var exceljson = xlsx.utils.sheet_to_json(wb.sheets[wb.sheetnames[0]]);
            document.getelementbyid("excelcontent").innerhtml= json.stringify( exceljson );
        };
        if(rabs) {
            reader.readasarraybuffer(f);
        } else {
            reader.readasbinarystring(f);
        }
    }

    //文件流转binarystring
    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>
</body>
</html>

 

导入前的表格:

导入后的显示:

 

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网