EsayExcle的简单使用

本文将介绍如何使用EasyExcel进行简单的Excel读写操作,包括创建Excel模板、填充数据以及读取Excel内容。EasyExcel是一款轻量级的Java库,特别适合处理大量数据,避免内存溢出问题。
摘要由CSDN通过智能技术生成
<dependency>
  <groupId>com.alibaba</groupId>
  <artifactId>easyexcel</artifactId>
  <version>1.1.2-beta5</version>
</dependency>复制代码
public class OrderExcelBO extends BaseRowModel {
   
 
    @ExcelProperty(value = {
   "订单ID"}, index = 0)
    private String id;
 
    /**
     * 订单描述
     */
    @ExcelProperty(value = {
   "订单描述"}, index = 2)
    private String description;
 
    /**
     * 订单对应产品id
     */
    @ExcelProperty(value = {
   "产品ID"}, index = 2)
    private Integer productId;
 
    /**
     * 支付方式描述,如:apple pay
     */
    @ExcelProperty(value = {
   "支付方式"}, index = 3)
    private String payMethod;
 
    /**
     * create_time
     */
    @ExcelProperty(value = {
   "时间"}, index = 4)
    private String createTime;
 
    /**
     * update_time
     */
    private String updateTime;
 
    /**
     * 产生订单的用户
     */
    @ExcelProperty(value = {
   "用户ID"}, index = 5)
    private Integer userId;
 
    /**
     * 支付状态:0 未支付、1支付成功支付完成、-1支付失败
     */
    @ExcelProperty(value = {
   "支付状态"}, index = 6)
    private String status;
 
    /**
     * 订单来源描述,如:ios 安卓
     */
    @ExcelProperty(value = {
   "手机型号"}, index = 7)
    private String platform;
 
    /**
     * 订单流水
     */
    @ExcelProperty(value = {
   "订单流水号"}, index = 8)
    private String flowNum;
 
    /**
     * 订单金额
     */
    @ExcelProperty(value = {
   "金额"}, index = 9)
    private BigDecimal price;
 
    // @ExcelProperty(value = {"收据字段"}, index = 10)
    private String receipt;
 
    @ExcelProperty(value = {
   "APP来源"}, index = 10)
    private String sources;
}

在这里插入图片描述
在这里插入图片描述

public class ExcelListener extends AnalysisEventListener {
   
 
   /**
    * 自定义用于暂时存储data。
    * 可以通过实例获取该值
    */
   private List<Object> datas = new ArrayList<>();
 
   /**
    * 通过 AnalysisContext 对象还可以获取当前 sheet,当前行等数据
    */
   @Override
   public void invoke(Object object, AnalysisContext context) {
   
      //数据存储到list,供批量处理,或后续自己业务逻辑处理。
      datas.add(object);
      //根据业务自行 do something
      doSomething();
        /*
        如数据过大,可以进行定量分批处理
        if(datas.size()<=100){
            datas.add(object);
        }else {
            doSomething();
            datas = new ArrayList<Object>();
        }
         */
   }
 
   /**
    * 根据业务自行实现该方法
    */
   private void doSomething() {
   
   }
 
   @Override
   public void doAfterAllAnalysed(AnalysisContext context) {
   
        /*
            datas.clear();
            解析结束销毁不用的资源
         */
   }
 
   public List<Object> getDatas() {
   
      return datas;
   }
 
   public void setDatas(List<Object> datas) {
   
      this.datas = datas;
   }
}
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值