前端code导入excel

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>导入</title>
</head>
<body>
    <script>
        var wb;//读取excel数据
        var rABS=false;//是否将文件读取为二进制字符串
        var exelTab=[];//获取到的表格数组
        var file=document.getElementById("file").get(0);//得到文件对象
        importf(file)//调用读取操作
        function importf(obj){
            if(!obj.file){
                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"})
                }
                // 数据出口
                excelTab=XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]);
                // 定义参数
                let list_RFIS=[];
                var a={
                    a0:"物料编号"
                }
                excelTab.forEach(item=>
                    list_RFID.push(
                        {materialNumber:item[a.a0]}
                    )
                );
                // 发送请求参数:list_RFID
                ..................
                ...................
            }
            if(rABS){
                reader.readAsArrayBuffer(f);
            }else{
                reader.readAsBinaryString(f);
            }

            function fixdata(data){
                let o="",l=0,w=10240;
                for(;l<databyteLength;++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>

  

posted @ 2020-09-07 21:56  努力~努力再努力~  阅读(322)  评论(0编辑  收藏  举报