Java中使用alibaba的easyexcel中的方法实现csv模板下载功能

系列文章目录

文章目录


一、EasyExcelUtil工具

java 复制代码
 /**
     * @param response     响应
     * @param fileName     文件名称
     * @param sheetName    sheet名称
     * @param headNameList 头部名称
     * @param <T>
     * @throws IOException
     */
    public static <T> void export(HttpServletResponse response, String fileName, String sheetName, List<String> headNameList) throws IOException {
        OutputStream out = null;
        try {
//            response.setContentType("application/vnd.ms-excel");
            response.setContentType("text/csv");
            response.setCharacterEncoding(CharEncoding.UTF_8);
            fileName = URLEncoder.encode(fileName, CharEncoding.UTF_8);
            response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".csv");
            out = response.getOutputStream();
            EasyExcelFactory.write(out).excelType(ExcelTypeEnum.CSV).sheet(sheetName).head(EasyExcelUtil.headList(headNameList)).doWrite(new ArrayList<>());
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            IoUtil.close(out);
        }
    }
}
相关推荐
啊阿狸不会拉杆30 分钟前
《算法导论》第 32 章 - 字符串匹配
开发语言·c++·算法
JH30731 小时前
Maven的三种项目打包方式——pom,jar,war的区别
java·maven·jar
带刺的坐椅2 小时前
轻量级流程编排框架,Solon Flow v3.5.0 发布
java·solon·workflow·flow·solon-flow
David爱编程2 小时前
线程调度策略详解:时间片轮转 vs 优先级机制,面试常考!
java·后端
武当豆豆2 小时前
C++编程学习(第25天)
开发语言·c++·学习
阿冲Runner3 小时前
创建一个生产可用的线程池
java·后端
写bug写bug3 小时前
你真的会用枚举吗
java·后端·设计模式
喵手4 小时前
如何利用Java的Stream API提高代码的简洁度和效率?
java·后端·java ee
-Xie-4 小时前
Maven(二)
java·开发语言·maven
mftang4 小时前
Python可视化工具-Bokeh:动态显示数据
开发语言·python