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);
        }
    }
}
相关推荐
Refrain_zc几秒前
Android 应用内的APK 安装(可复制)
java
sycmancia2 分钟前
Qt——发送自定义事件
开发语言·qt
杨运交5 分钟前
[020][缓存模块]基于 BeanCreator 的缓存管理器创建器模式设计与实践
java·spring·缓存
霍霍的袁17 分钟前
【C++初阶】缺省参数(默认参数)详细讲解
开发语言·c++·算法
risc12345619 分钟前
DocumentsWriterDeleteQueue 的核心设计思想
java·全文检索·lucene
I Promise3425 分钟前
多传感器融合&模型后处理C++工程师面试参考回答
开发语言·c++·面试
风味蘑菇干33 分钟前
Stream基础题目
java·算法
2501_9327502637 分钟前
Java反射机制基础入门
java·开发语言
500841 小时前
HCCL 集合通信编程:多卡协同的正确姿势
java·flutter·性能优化·electron·wpf
霍霍的袁1 小时前
【C++初阶】函数重载详细讲解
开发语言·c++·算法