实战教程 node js 实现上传xls文件批量导入到数据库 解析导入

node js 导入excel需要包node_xlsx

bash 复制代码
var node_xlsx = require('node-xlsx');

上传文件需要引入

bash 复制代码
const multersss = require('multer');
const uploadsss = multersss();

直接上代码 post请求

bash 复制代码
router.post('/excelusers',uploadsss.single('uploadFile') ,(req,res)=>{
    
        // 1、获取表格信息
        if(req.file !=undefined && req.file.originalname.indexOf("xlsx")!=-1 ){
            // 获取上传的文件 并且通过 node_xlsx 进行json转换。
            let obj = node_xlsx.parse(req.file.buffer)[0].data
            let msgs = {msg:"成功",code:"200"}
            if(obj!=null && obj !=undefined&& obj.length>1){
                    for (let index = 0; index < obj.length; index++) {
                        var element = obj[index];
                    try {
                        //这里判断第一行标题和第二行内容有没有 有的话才往下走 没有直接返回格式不正确或未填写内容
                        if(obj[0]!=undefined && obj[1]!=undefined){

                            try {
                            	//这里过滤第一行标题
                                if(index>=1&& element !=undefined && element.length>0 && element[0]!=undefined &&  element[0]!=""){
                                //打印第一个内容
                                console.log(element[0].trim())
                                   
                                }
                            } catch (error) {
                                console.log("抛出异常")
                            }
                           
                        }else{
                            msgs.msg ="上传的Excel 格式不正确或未填写内容, 请重新下载填写上传。";
                        }
                    
                    } catch (error) {

                    msgs.msg="添加失败,上传的Excel不属于模板 或数据异常。";
                    res.send(msgs)
                    }
                    }
                    res.send(msgs)
            }else{
                res.send({"msg":"上传无数据或格式错误","code":"200"})
            }
        }else{
                res.send({"msg":"格式错误","code":"200"})
        }
});

postman请求成功截图