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请求成功截图
