public class ExcelUtil extends EasyExcel {
private static final Logger LOGGER = LoggerFactory.getLogger(ExcelUtil.class);
private ExcelUtil() {}
public static <T> ExcelReaderBuilder read(String pathName, Class<T> head, Integer pageSize, Consumer<List<T>> consumer) {
return read(pathName, head, new EasyExcelConsumerListener<>(pageSize, consumer));
}
public static <T> ExcelReaderBuilder read(File file, Class<T> head, Integer pageSize, Consumer<List<T>> consumer) {
return read(file, head, new EasyExcelConsumerListener<>(pageSize, consumer));
}
public static <T> ExcelReaderBuilder read(InputStream inputStream, Class<T> head, Integer pageSize, Consumer<List<T>> consumer) {
return read(inputStream, head, new EasyExcelConsumerListener<>(pageSize, consumer));
}
public static void write(HttpServletResponse response, List<?> data, String fileName, String sheetName, Class clazz) throws Exception {
EasyExcel.write(getOutputStream(fileName, response), clazz)
.excelType(ExcelTypeEnum.XLSX)
.sheet(sheetName)
.registerWriteHandler(buildCellStyle())
.registerWriteHandler(new CustomColumnWidthHandler())
.doWrite(data);
}
public static OutputStream getOutputStream(String fileName, HttpServletResponse response) throws Exception {
fileName = URLEncoder.encode(fileName, "UTF-8");
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("utf8");
response.setHeader("Content-Disposition", "attachment;filename=" + fileName)
EasyExcel工具类,通用消费监听器、导出样式、LocalDateTime转换
最新推荐文章于 2024-09-18 15:17:59 发布
该博客介绍了如何使用EasyExcel库创建一个通用的Excel读写工具类,包括读取文件、流和HTTP响应,以及写入文件、流。工具类中包含了自定义样式、列宽策略、日期转换器等功能,支持批量处理数据并提供消费监听器。示例代码展示了读取用户信息并按批次保存的用法。

最低0.47元/天 解锁文章
502

被折叠的 条评论
为什么被折叠?



