Easy Excel导出时@ExcelProperty映射失败的问题

在使用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 对象

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,下面是关于使用Alibaba Easy Excel进行导入导出的基本步骤: 1. 添加Easy Excel的依赖 在pom.xml文件中添加Easy Excel的依赖: ```xml <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.2.10</version> </dependency> ``` 2. 编写实体类 编写需要导入导出的实体类,其中可以使用@ExcelProperty注解指定对应Excel中的列名: ```java public class User { @ExcelProperty(value = "ID", index = 0) private Long id; @ExcelProperty(value = "姓名", index = 1) private String name; @ExcelProperty(value = "年龄", index = 2) private Integer age; // getter和setter方法 } ``` 3. 编写导出代码 通过Easy Excel提供的ExcelWriter类将数据写入到Excel中: ```java public void export(HttpServletResponse response) throws IOException { List<User> userList = new ArrayList<>(); // TODO: 从数据库或其他数据源获取需要导出的数据列表 String fileName = "user.xlsx"; String sheetName = "用户列表"; response.setContentType("application/vnd.ms-excel"); response.setCharacterEncoding("utf-8"); response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "utf-8")); ServletOutputStream outputStream = response.getOutputStream(); ExcelWriter writer = EasyExcel.write(outputStream, User.class).sheet(sheetName).build(); writer.write(userList, EasyExcel.writerSheet(sheetName).head(User.class).build()); writer.finish(); outputStream.flush(); } ``` 4. 编写导入代码 通过Easy Excel提供的ExcelReader类将Excel中的数据读取到指定的实体类中: ```java public void importData(MultipartFile file) throws IOException { InputStream inputStream = file.getInputStream(); ExcelReader reader = EasyExcel.read(inputStream).build(); List<User> userList = reader.readAll(User.class, EasyExcel.readSheet().build()); reader.finish(); // TODO: 将导入的数据列表存储到数据库或其他数据源 } ``` 以上就是使用Alibaba Easy Excel进行导入导出的基本步骤,您可以根据实际需求进行修改和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

慢慢zz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值