EasyExcel 705abedf28994c238331cdc48e881939

本文详细介绍了如何使用EasyExcel进行简单写入操作,包括有对象写入和无对象写入两种方式。有对象写入时,通过建立DemoData类并使用@ExcelProperty注解指定表头内容和位置,然后调用EasyExcel的write方法写入数据。无对象写入则直接传入数据list,但需手动指定表头。通过这两个方法,可以方便地将数据写入Excel文件。
摘要由CSDN通过智能技术生成

EasyExcel简单写入操作(无对象、有对象)

一、使用EasyExcel实现简单写入操作

  • 数据来源

    private List<DemoData> data() {
        List<DemoData> list = ListUtils.newArrayList();
        for (int i = 0; i < 10; i++) {
            DemoData data = new DemoData();
            data.setString("字符串" + i);
            data.setDate(new Date());
            data.setDoubleData(0.56);
            list.add(data);
        }
        return list;
    }
    
  • 导入依赖

    其他依赖,根据需要自行导入

    <!--easyExcel依赖-->
    <dependency>
      <groupId>com.alibaba</groupId>
    	  <artifactId>easyexcel</artifactId>
    	  <version>3.0.5</version>
    	</dependency>
    <!--Junit测试依赖-->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.13.2</version>
    </dependency>
    

1.有对象写入

在easyexcel中有对象写入的意思就是需要指定写入的数据的数据类型

首先建立一个实例对象DemoData类,如下:

/**
 * 基本数据demodata
 */
@Data
public class DemoData {
    @ExcelProperty(value = "字符串标题",index = "0")
    private String stringTitle;
    @ExcelProperty(value = "时间标题")
    private Date dateTitle;
    @ExcelProperty(value = "数字标题")
    private int doubleTitle;
}

在该类中有三个属性,我们把它们作为我们的表头,在easyexcel中可以使用@ExcelProperty()注解来指定该属性在写入到Excel后表头的内容及其位置,

写入数据到Excel,我们可以直接调用Easyexcel的Write()方法,具体的使用如下:

public void writeDataToExcel_01() {
		/**
     * 获取到写入的数据
		 * 有多种方式,我只写了最简单的一种,可以自行去官网看其他
     */
		String fileName =  "testExcel_2.xlsx";
    // write方法,指明文件写入路径和数据类型(表头),设置sheet名称,写入数据
    EasyExcel.write(fileName, DemoData.class).sheet("模板").doWrite(dataList());
  }

其中需要在write()中指定写入的文件路径和数据类型,之后通过sheet()方法来指定要写入的sheet的名称,最后在dowrite()中传入要写入的数据的list集合即可

  • 结果

请添加图片描述

2.无对象写入

无对象写入,不需要指定要写入的数据的类型,可以直接传入一个存放数据的list,即可完成数据的写入操作。但是无论是表头还是内容,都需要以list的形式传入,

/**
 * 不创建对象的写
 * 和无对象写入思路相同,区别在于需要多一个步骤获取表头类型
 */
@Test
public void noModelWrite() {
    // 写法1
    String fileName =  "testExcel_1.xlsx";
    // 这里 需要指定写用哪个class去写,然后写到第一个sheet,名字为模板 然后文件流会自动关闭
    EasyExcel.write(fileName).head(head()).sheet("模板").doWrite(dataList());
}

//获取表头类型
private List<List<String>> head() {
    List<List<String>> list = ListUtils.newArrayList();
    List<String> head0 = ListUtils.newArrayList();
    head0.add("字符串" + System.currentTimeMillis());
    List<String> head1 = ListUtils.newArrayList();
    head1.add("数字" + System.currentTimeMillis());
    List<String> head2 = ListUtils.newArrayList();
    head2.add("日期" + System.currentTimeMillis());
    list.add(head0);
    list.add(head1);
    list.add(head2);
    return list;
}
  • 结果

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值