前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >EasyExcel写excel文件

EasyExcel写excel文件

作者头像
Tom2Code
发布2022-11-21 12:10:06
2.4K0
发布2022-11-21 12:10:06
举报
文章被收录于专栏:Tom

一.easyExcel介绍

它是一个Java解析excel文件的工具,今天来实现一个easyexcel向磁盘中写入excel的简单代码

Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一些缺陷,比如07版Excel解压缩以及解压后存储都是在内存中完成的,内存消耗依然很大。easyexcel重写了poi对07版Excel的解析,一个3M的excel用POI sax解析依然需要100M左右内存,改用easyexcel可以降低到几M,并且再大的excel也不会出现内存溢出;03版依赖POI的sax模式,在上层做了模型转换的封装,让使用者更加简单方便 Github

为什么使用easyexcel,因为它的读写效率很高,非常的快

二.引入依赖

代码语言:javascript
复制
 <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>easyexcel</artifactId>
            <version>3.1.1</version>
        </dependency>

三.编写对应的实体类

代码语言:javascript
复制
package excel;

import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;

/**
 * 2 * @Author: AkaTom
 * 3 * @Date: 2022/7/11 11:10
 * 4
 */
@Data
public class DemoData {
    @ExcelProperty("学生编号")
    private Integer sno;
    @ExcelProperty("学生姓名")
    private String sname;

}

需要在对应的类上加上属性用来指定列名

代码语言:javascript
复制
@ExcelProperty()

四.写入数据

代码语言:javascript
复制
package excel;

import com.alibaba.excel.EasyExcel;

import java.util.ArrayList;
import java.util.List;

/**
 * 2 * @Author: AkaTom
 * 3 * @Date: 2022/7/11 11:17
 * 4
 */
public class TestEasyExcel {

    public static void main(String[] args) {
        //实现excel写操作
        // 1设置写入文件夹地址和excel文件名称
        String filename="E:\\demo.xlsx";
        //2 调用easyexcel里面的方法实现写操作
        EasyExcel.write(filename,DemoData.class).sheet("学生列表").doWrite(getData());
    }

    //创建方法返回list集合
    private static List<DemoData> getData(){
        List<DemoData> list=new ArrayList<>();
        for (int i = 0; i <10 ; i++) {
            DemoData data=new DemoData();
            data.setSno(i);
            data.setSname("Tom"+i);
            list.add(data);
        }
        return list;
    }
}

主要的代码就是20行的那句调用语句,就可以直接生成一个表格文件并且保存在本地。

五.本地查看

数据写入成功,下次我们再讲如何读取excel中的文件。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-07-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Tom的小院 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档