zoukankan      html  css  js  c++  java
  • easyExcel文件上传验证

    /**
      * 处理每行数据
      */
    @Override
        public void invoke(Model model, AnalysisContext analysisContext) {
            if (model.getName.length()>20) {
                throw new ExcelAnalysisException("姓名过长");
            }
        }
    
    
    /**
      * 接收invoke中的异常,将异常处理抛出到service
      *
      * @author jamin
      * @date 2020/7/30 10:28
      */
    @Override
    public void onException(Exception exception, AnalysisContext context) throws Exception {
    
        //获取行号
        Integer index = context.readRowHolder().getRowIndex() + 1;
        //invoke中的异常
        if (exception instanceof ExcelAnalysisException) {
            ExcelAnalysisException excelAnalysisException = (ExcelAnalysisException) exception;
            String message = excelAnalysisException.getMessage();
            throw new ExcelAnalysisStopException("[数据处理异常--第" + index + "行]----" + message);
        }
        throw new ExcelAnalysisStopException("[数据解析异常] 请检查文件");
    
    }
     /**
       * 导入数据
       *
       * @author jamin
       * @date 2020/7/30 10:37
       */
     public MessageVo importData(MultipartFile file) {
         Map<String, String> map = new HashMap<>();
          map.put("code","0");
          try {
     EasyExcel.read(file.getInputStream()).autoCloseStream(true).autoTrim(true).headRowNumber(2).head(Model.class).registerReadListener(new ExcelListener()).sheet(0).doRead();
            } catch (Exception ex) {
                 map.put("code","1");
                map.put("msg",ex.getCause().getMessage());
            }
     }
    
    
    作者: JaminYe
    版权声明:本文原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
  • 相关阅读:
    判断数组的方法
    介绍下 npm 模块安装机制,为什么输入 npm install 就可以自动安装对应的模块?
    因为这样那样的原因又滚回来了
    AFO成功
    SDOI2018
    TJOI2018
    杂题
    线段树合并
    几个dp的陈年老题
    【自家测试】2018-5-9
  • 原文地址:https://www.cnblogs.com/JaminYe/p/13406386.html
Copyright © 2011-2022 走看看