js导入excel

          /* FileReader共有4种读取方法:

             1.readAsArrayBuffer(file):将文件读取为ArrayBuffer。

             2.readAsBinaryString(file):将文件读取为二进制字符串

             3.readAsDataURL(file):将文件读取为Data URL

             4.readAsText(file, [encoding]):将文件读取为文本,encoding缺省值为'UTF-8'

           */


<input type="file" name="myFile" id="myFile" onchange="importf(this)" value="EXCEL导入" />
        var wb;//读取完成的数据
        var rABS = true; //是否将文件读取为二进制字符串
        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[Shee名]获取第一个Sheet的数据       

var property=JSON.stringify( XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]) ); //转成json字符串
                var url = "QCommunityInfoService.selectFriendsImage"; //方法
                var param = {};
                param.property=property;
                AE.ServiceEx(url, param, function(obj) {
                     if(obj.code==0){
                         f_success_alert();
                     }else{
                         f_fail_alert(obj.text);
                     }
                });
            
            };
            if (rABS) {
                reader.readAsArrayBuffer(f);
            } else {
                reader.readAsBinaryString(f);
            }        

        }
        function fixdata(data) { //文件流转BinaryString
            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;
        }
public void selectFriendsImage(Map<String, Object> param){

        String property=String.valueOf(param.get("property"));
        JSONArray json = JSONArray.fromObject(property);
        for(int i=0;i<json.size();i++){
                JSONObject job = json.getJSONObject(i);
     
                QCommunityInfo info=new QCommunityInfo();
info.setCommunityName(job.
get("列名").toString());

communityInfoMapper.insertSelective(info); } }
原文地址:https://www.cnblogs.com/jyy599/p/12066753.html