轻便内存的导出-EasyExcel

轻便内存的导出-EasyExcel,第1张

轻便内存的导出-EasyExcel
先进入pom


    com.alibaba
    easyexcel
    2.2.6


这个只写导出的导入的方法  实体类需要用到的注解要自己去看哦

导出 


    
    public static void exportExcel(HttpServletResponse response , String fileName , List list,Class clazz)
    {
        if(ParamKey.EXCEL_NAME.list.contains(fileName))throw new baseException("文件名称不能包含特殊符号");
        if (StringUtils.isEmpty(fileName))fileName = new Date().toString();
        String sheetName = fileName;
        // 使用swagger 会有问题,请直接用浏览器或者用postman
        try {
            response.setContentType("application/vnd.ms-excel");
            response.setCharacterEncoding("utf-8");
            //防止中文乱码
            fileName = URLEncoder.encode(fileName, "UTF-8").replaceAll("\+", "%20");
            response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
            // 这里需要设置不关闭流
            EasyExcel.write(response.getOutputStream(), clazz).autoCloseStream(Boolean.FALSE).sheet(sheetName)
                    .doWrite(list);
        } catch (Exception e)
        {
            throw new baseException("文件下载失败");
        }
    }

导入

public static  List easyReadExcel(Class cls,MultipartFile file)
{
    List list = new ArrayList<>();
    try
    {
        InputStream inputStream = file.getInputStream();
        list = EasyExcel.read(inputStream)
                .head(cls)
                // 设置sheet,默认读取第一个
                .sheet()
                // 设置标题所在行数
                .headRowNumber(2)
                .doReadSync();
    }catch (Exception e)
    {
        e.printStackTrace();
    }
    return list;
}

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zaji/5682467.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存