Java EasyExcel列表导出(一)

一、具体实现

import java.net.URLEncoder;
import com.alibaba.excel.EasyExcel;


List<实体> targets = xxx;
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("UTF-8");
String fileName= URLEncoder.encode("lkm","UTF-8");
response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
response.setHeader("Access-Control-Expose-Headers","Content-disposition");
EasyExcel.write(response.getOutputStream(), 实体.class).autoCloseStream(Boolean.FALSE).sheet("sheet1").doWrite(targets);

二、实体

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.Data;

@Data
public class 实体{

    @ColumnWidth(25)
    @ExcelProperty(value="名字",index=0)
    private  String name;

    @ColumnWidth(25)
    @ExcelProperty(value="性别",index=1)
    private  String sex;
}

如果运行出现该错误,可以参考如下解决方法:
(一)返回体问题

No converter for [class com.xxx.utils.Result] with preset Content-Type ’ ’

点击链接,查看解决方法
(二)实体日期问题

org.apache.poi.ss.usermodel.Cell.setCellValue(Ljava/time/LocalDateTime;)V

点击链接,查看解决方法

三、优化

1、@ExcelProperty
注解中有三个参数value,index,converter分别代表列明,列序号,数据转换方式

用法:@ExcelProperty(value=“序号”,index=0)

2、@ColumnWith
注解中有一个参数value代表列宽度

用法:@ColumnWidth(25)

3、@ContentFontStyle
注解用于设置单元格内容字体格式
在这里插入图片描述4、@ContentLoopMerge
注解用于合并单元格,注解中有二个参数eachRow,columnExtend

5、@ContentRowHeight
注解用于于设置行高,注解中有一个参数value代表行高,-1代表自动行高

6、@ContentStyle
注解用于设置内容格式,参数众多百度;

7、@HeadFontStyle
注解用于定制标题字体格式,参数众多百度;

8、@HeadRowHeight
注解用于设置标题行行高,注解中有一个参数value代表行高,-1代表自动行高

9、@HeadStyle
注解用于标题样式,参数众多百度;

10、@ExcelIgnore
注解用于不将该字段转换成Excel

11、@ExcelIgnoreUnannotated
注解放在实体方法上面,用于没有注解的字段都不转换

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

傻猴儿

小编,多谢客官留下的赏钱。

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

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

打赏作者

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

抵扣说明:

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

余额充值