阿里EasyExcel导入导出Excel表格篇(前端JSP,后端SSM)简单明了!(内含源码)

Echarts之柱状图动态加载数据篇

文件上传下载篇

点击获取源码

老规矩,先上效果:

模拟业务流程:1.在本地的excel模板表中填写好数据,点击“选择文件”→“上传Excel表格”,将Excel表解析,并展示在页面上,并持久化数据。

                          2.点击“导出成Excel表格”,将页面上的数据,导出成Excel表格。

阿里EasyExcel导入导出Excel表格篇(前端JSP,后端SSM)简单明了!(内含源码)_第1张图片

前端使用H-ui修改的界面。

依赖:


    
      com.alibaba
      easyexcel
      2.1.2
    
    
    
      org.apache.poi
      poi
      4.0.0
    
    
      org.apache.poi
      poi-ooxml
      4.0.0
    
    
      org.apache.poi
      poi-ooxml-schemas
      4.0.0
    

前端 部分 代码:

<%--格式化日期--%>
id 药品名称 销售件数 药品价格 销售日期 用户名
${sale.id} ${sale.salmedicinename} ${sale.salamount}件 ${sale.salprice}元 ${sale.salname}

Controller:

/**
     * 解析上传的excel表格,并显示到页面上
     * @param file
     * @param request
     * @return
     * @throws IOException
     */

    List ExcelList = null;

    @RequestMapping("/excel/import")
    public String ImportExcel(@RequestParam MultipartFile file , HttpServletRequest request) throws IOException {

        ExcelExample example = new ExcelExample();
        //检查数据库excel表已经存在数据
        List nullornot = tssi.ExcelIsNull(example);
        //存在的话,清空excel表数据
        if(nullornot.size() != 0){
            tssi.DeleteExcel();
        }

        InputStream inputStream = file.getInputStream();

        ExcelList = EasyExcel.read(inputStream)
                .head(Excel.class)
                // 设置sheet,默认读取第一个
                .sheet()
                // 设置标题所在行数
                .headRowNumber(1)
                .doReadSync();

        //持久化excel表
        for (Excel excel : ExcelList) {
            tssi.InsertExcel(excel);
        }

        HttpSession session = request.getSession();
        session.setAttribute("excels" , ExcelList);

        return "redirect:/excel";
    }

    /**
     * 导出页面上的excel表
     * @param response
     * @throws IOException
     */
    @RequestMapping("/excel/export")
    public void ExportExcel(HttpServletResponse response) throws IOException {

        // 获取页面上的Excel
        List excels = new ArrayList<>();
        //将页面上的数据导出成excel
        for ( Excel excel : ExcelList) {
            excels.add(excel);
        }


        //设置JSP页面导出为excel表
        response.setContentType("application/vnd.ms-excel");
        response.setCharacterEncoding("utf-8");
        // 防止中文乱码
        String fileName = URLEncoder.encode("导出", "UTF-8");
        response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
        EasyExcel.write(response.getOutputStream(), Excel.class)
                .sheet("sheet0")
                .doWrite(excels);
    }

 

你可能感兴趣的:(java,后端,spring,javascript,前端)