工具类篇(easyExcel导出工具类)

/**

* Excel模板下载的方法

* @param response 响应对象

* @param clzclass类本身对象(传一个模板表头的实体类的class)

* @param name下载之后后端的 excel文件名 如:测试模板.xlsx

* @throws IOException

*/

public static void downloadTemplate(HttpServletResponse response, Class clz, String name) throws IOException {

// 设置下载参数

response.setContentType("application/vnd.ms-excel");

response.setCharacterEncoding("UTF-8");

// 这里URLEncoder.encode可以防止中文乱码

String excelName = URLEncoder.encode(name, "UTF-8");

response.setHeader("Content-disposition", "attachment;filename=" + excelName);

// 调用EasyExcel将数据写入excel文件并下载

EasyExcel.write(response.getOutputStream(), clz)

// 自适应宽度,但是这个不是特别精确

.registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).sheet(1, "Sheet1")

.doWrite(() -> ListUtil.empty()); // 空的List

//想导出有数据的excel,只需要将List更换一个,用参数传递进来即可。

}

你可能感兴趣的:(ide,spring)