在使用Easy Excel导出时,在实体类上写入@ExcelProperty注解表示该字段作为Excel的一列,但是导出时表头还是乱码。
其中一个解决方法:
public static void exportExcel(HttpServletResponse response,List<?> data,Object o){
// 设置响应内容
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("UTF-8");
response.setHeader("Content-disposition","attachment;filename=down_"+URLEncoder.encode(System.currentTimeMillis() + ".xlsx",StandarCharsets.UTF_8));
EasyExcel.write(response.getOutputStream(),o.getClass).excelType(ExcelTypeEnum.XLSX).sheet("文件下载").doWrite(data);
}
以上代码可以看到,入参的时候是 对象 。 很多时候导致不生效是因为在调用的时候传参数写的是
对象.class,正确的应该是 new 对象