EasyExcel快如入门

EasyExcel

1.依赖

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

2.写出

/**
 * @author Administrator
 */
@Data
public class DemoData {
    @ExcelProperty("字符串标题")
    private String string;
    @ExcelProperty("日期标题")
    private Date date;
    @ExcelProperty("数字标题")
    private Double doubleData;
    /**
     * 忽略这个字段
     */
    @ExcelIgnore
    private String ingore;
}
=================================================
public class EasyExcelReadTest {

    // 创建数据
    private List<DemoData> data() {
        List<DemoData> list = new ArrayList<DemoData>();
        for (int i = 0; i < 10; i++) {
            DemoData data = new DemoData();
            data.setString("" + i);
            data.setDate(new Date());
            data.setDoubleData(0.99);
            list.add(data);
        }
        return list;
    }
    @Test
    public void test1() {
        EasyExcel.write("h:\\6.xlsx", DemoData.class)
                .sheet("你好")
                .doWrite(data());
    }

3.读取数据
监听器

/**
 * @author Administrator
 */
public class DemoDataListener extends AnalysisEventListener<DemoData> {

    /**
     * 每隔5条存储数据库,实际使用中可以3000条,然后清理list ,方便内存回收
     */
    List<DemoData> list = new ArrayList<>();

    /**
     * 这个每一条数据解析都会来调用
     */
    @Override
    public void invoke(DemoData data, AnalysisContext context) {
        list.add(data);
        // 需要去存储一次数据库,防止数据几万条数据在内存,容易OOM
        if (list.size() >= 5) {
            // 保存list数据
            list.clear();
        }
    }
    /**
     * 所有数据解析完成了 都会来调用
     *
     * @param context
     */
    @Override
    public void doAfterAllAnalysed(AnalysisContext context) {
        // 这里也要保存数据,确保最后遗留的数据也存储到数据库
        // 保存list数据
        System.out.println("所有数据解析完成");
    }
}
 @Test
    public void test2() {
        EasyExcel.read("h:\\6.xlsx", DemoData.class, new DemoDataListener())
                .sheet()
                .doRead();
    }

https://www.yuque.com/easyexcel/doc/read

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值