layui导入功能实现(太特么难了,网上全是坑啊)

您所在的位置:网站首页 wechathelper在哪里 layui导入功能实现(太特么难了,网上全是坑啊)

layui导入功能实现(太特么难了,网上全是坑啊)

2023-01-22 22:32| 来源: 网络整理| 查看: 265

前言:太特么难了,网上一堆大坑写的半拉柯基的,我是东拼西凑,连蒙带骗,可算是整出来了。佰度得内容都是大坑啊,有一个人写得又test8又test19的,也不写是啥玩意。为了避免这个文章被驳回,我忍住了一万句骂人的话语。看他们写那玩意憋一肚子气啊。

、、先整个按钮,随便在哪,是个按钮就行。给按钮加个id = uploadPgb

数据导入

下边就是重要的代码了,我知道的基本都写了。有懂得留言吧

//找到你的layui.use 里边加个upload layui.use(['table', 'layer', 'laydate','upload', 'jquery'], function () { //...不管其他代码 //下边随便找个空位置 $("#uploadPgb").click(function () { //获取下边需要使用的对象 var $ = layui.jquery ,upload = layui.upload; var default_config = { msg:"数据导入成功!" } // $.extend( default_config, config); var idRandom = "importData" + Math.ceil(Math.random()*10000) //模板的div的随机数id //创建模板(下边有个小四方框里边有个问好,不知道是啥,反正不影响,也没动他) var htmlContent = ''; htmlContent += ''; htmlContent += '

点击选择文件,或将文件拖拽到此处

'; htmlContent += ''; htmlContent += ''; htmlContent += '点击上传'; htmlContent += ''; layer.open({ type: 1 ,offset: "auto" //具体配置参考:http://www.layui.com/doc/modules/layer.html#offset ,id: 'layer_importData' //防止重复弹出 ,title:'导入' , headers: {"authorization": token} ,content: htmlContent //需要打开的模板 ,maxWidth:800 // ,btn: ['下载模板'] //这里可以加一个下载模板的按钮,我不需要,注释了。 ,btnAlign: 'c' //按钮居中 ,shade: 0 //不显示遮罩 ,yes: function(){//下载模板按钮提交 // var iframe = $(""); // iframe.attr("src",default_config.downUrl); // iframe.css("display","none"); // $("#"+idRandom).append(iframe); } }); form.render();//这个不知道嘎哈的,复制来的,也没实验去掉行不行。你们谁实验了请告诉我结果 //拖拽上传 upload.render({ elem: "#"+idRandom //绑定上边定义的小弹窗 ,url: "../busineAssessment/uploadExcel" ,accept: 'file' //普通文件 , headers: {"authorization": token} //我用的token,如果不是token验证的项目不用加这个 ,auto: false //关闭自动上传(这个如果不写,文件拽进来直接走接口,不需要点按钮,想点按钮就写个这个拒绝自动上传) ,bindAction: '#test19' //上边选择拒绝自动上传了这个里就自己加个按钮,点击自动调用url接口 ,done: function(data){ //调用结束返回的data if(data.code == 0){ layer.closeAll();//执行成功关闭弹窗 // layer.msg(data.msg); }else{ layer.msg(data.msg); } } }); return false; }); }

//下边是后台代码

//控制层,没啥用,就是接到这个file然后仍到service中

@ApiOperation(value = "execl数据持久化") @PostMapping("busineAssessment/uploadExcel") @ResponseBody public String uploadExcel(@RequestParam("file") MultipartFile file, HttpServletRequest request, HttpServletResponse response) { System.out.println("进来了"); Map map = new HashMap(); String resouce = busineAssessmentService.uploadExcel(file, request, response); return resouce; }

//service逻辑层

@Override public String uploadExcel(MultipartFile file, HttpServletRequest request, HttpServletResponse response) { MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; if(file.isEmpty()){ try { throw new Exception("文件不存在!"); } catch (Exception e) { e.printStackTrace(); } } InputStream in =null; try { in = file.getInputStream(); } catch (IOException e) { e.printStackTrace(); } List listob = null; try { listob = new ExcelUtils().getBankListByExcel(in,file.getOriginalFilename()); } catch (Exception e) { e.printStackTrace(); } //该处可调用service相应方法进行数据保存到数据库中,现只对数据输出 for (int i = 0; i < listob.size(); i++) { System.out.println(listob.get(i)); } return "success"; }

ExcelUtils

package com.company.project.common.utils; import org.apache.poi.hssf.usermodel.HSSFDateUtil; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.InputStream; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * Constant * * @author wenbin * @version V1.0 * @date 2020年3月18日 */ public class ExcelUtils { private final static String excel2003L =".xls"; //2003- 版本的excel private final static String excel2007U =".xlsx"; //2007+ 版本的excel /** * 描述:获取IO流中的数据,组装成List对象 * @param in,fileName * @return * @throws */ public List getBankListByExcel(InputStream in, String fileName) throws Exception { List list = null; //创建Excel工作薄 Workbook work = this.getWorkbook(in, fileName); if (null == work) { throw new Exception("创建Excel工作薄为空!"); } Sheet sheet = null; //页数 Row row = null; //行数 Cell cell = null; //列数 list = new ArrayList(); //遍历Excel中所有的sheet for (int i = 0; i < work.getNumberOfSheets(); i++) { sheet = work.getSheetAt(i); if (sheet == null) { continue; } //遍历当前sheet中的所有行 for (int j = sheet.getFirstRowNum(); j org.apache.poi poi 3.17 org.apache.poi poi-ooxml 3.17

结束语:太特么难了,干的这憋气



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3