您的位置:首页 > 健康 > 美食 > alibaba EasyExcel 简单导出数据到Excel

alibaba EasyExcel 简单导出数据到Excel

2025/7/16 2:56:16 来源:https://blog.csdn.net/SUMMERENT/article/details/140144592  浏览:    关键词:alibaba EasyExcel 简单导出数据到Excel

导入依赖

<dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>4.0.1</version>
</dependency>

1、alibaba.excel.EasyExcel导出工具类 

import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;import javax.servlet.http.HttpServletResponse;
import java.net.URLEncoder;
import java.util.List;public class ExcelUtil {/*** 导出excel** @param response 响应* @param list 数据集* @param clazz 类名* @param fileName 文件名* @return*/public static<T> void exportExcel(HttpServletResponse response, List<T> list, Class<T> clazz, String fileName) {try {response.setCharacterEncoding("utf-8");response.setContentType("application/vnd.ms-excel;charset=UTF-8");response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode(fileName, "utf-8") + ".xlsx");EasyExcel.write(response.getOutputStream(), clazz).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())//自适应表格格式.sheet("sheet1").doWrite(list);}catch (Exception e){throw new RuntimeException(e.getMessage());}}
}

 2、controller层

   @GetMapping("/export")public void exportExcel(HttpServletResponse response,OpreationLogEntity opreationLogEntity){List<OpreationLogEntity> oprLogList = opreationLogService.findOprLogList(opreationLogEntity);ExcelUtil.exportExcel(response,oprLogList,OpreationLogEntity.class,"系统日志");}

3、实体类字段加上注解:

(1)@ExcelIgnore:表示忽略导出该字段数据

(2)@ExcelProperty("账号"):导出对应的字段数据,并且设置Excel属性表头名,

        举例--对应的表头名为:账号

(3)不加注解:例如sysModule字段,会导出该数据,但是表头名为sysModule

@Data
public class OpreationLogEntity{@ExcelIgnoreprivate Long id;@ExcelProperty("账号")private String opreCode;private String sysModule;
}

3、测试:浏览器地址栏输入url即可导出成功

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com