专栏首页java闲聊POI之easypoi操作(二)

POI之easypoi操作(二)

pom

    <dependency>
        <groupId>cn.afterturn</groupId>
        <artifactId>easypoi-base</artifactId>
        <version>3.1.0</version>
    </dependency>
    <dependency>
        <groupId>cn.afterturn</groupId>
        <artifactId>easypoi-web</artifactId>
        <version>3.1.0</version>
    </dependency>
    <dependency>
        <groupId>cn.afterturn</groupId>
        <artifactId>easypoi-annotation</artifactId>
        <version>3.1.0</version>
    </dependency>   
  • 简单应用
@Data
public class People implements Serializable{
    @Excel(name = "学生Id")
    private Integer id ;
    @Excel(name = "姓名")
    private String name ;
    @Excel(name = "学生地址")
    private String site ;
    @Excel(name = "保存日期")
    private LocalDate localDate ;
}

 People people = new People() ;
        people.setId(1);
        people.setName("abc");
        people.setSite("江西南昌");
        people.setLocalDate(LocalDate.now());
        List<People> list = new ArrayList() ;
        list.add(people) ;
        Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams("物联一班","测试"),People.class, list) ;
        String fileName = "D:\\test.xls";
        FileOutputStream out = new FileOutputStream(fileName) ;
        workbook.write(out);

连接数据库 导入使用

  1. Dao 使用JPA
@Repository
public interface PeopleDao extends JpaRepository<People,Serializable> {
}
  1. Entity 的定义 ps:使用了lombok,不了解的可以去看笔者之前的文章
@Data
@Entity
public class People implements Serializable{

    @Id@GeneratedValue
    @Excel(name = "学生Id")
    private Integer id ;
    @Excel(name = "姓名")
    private String name ;
    @Excel(name = "学生地址")
    private String site ;
    @Excel(name = "保存日期")
    private String date ;
}
  1. 测试
@Test
    public void test2() throws IOException {

        List<People> list = peopleDao.findAll() ;
        Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams("物联一班","测试"),People.class, list) ;
        String fileName = "D:\\test.xls";
        FileOutputStream out = new FileOutputStream(fileName) ;
        workbook.write(out);
        out.close();
        System.out.println("写入成功");
    }

运行结果

读取

@Test
    public void read1(){
        String fileName = "D:\\test.xls";
        ImportParams params = new ImportParams();
        params.setTitleRows(1);
        params.setHeadRows(1);
        long start = new Date().getTime();
        List<People> list = ExcelImportUtil.importExcel(
                new File(fileName),
                People.class, params);

        System.out.println("-----------------------------\n所耗时间:");
        System.out.println(new Date().getTime() - start);
        list.forEach(s-> System.out.println(s));
    }

这个项目托管在码云,欢迎去star给与它支持https://gitee.com/lemur/easypoi

关于API的使用笔者本来想介绍下,但是想了想,源码介绍的非常清楚了,而且还是中文注释、中文注释、中文注释 来张图让你了解下

好了,关于excel的使用就介绍到这里了,如有错误,敬请指正

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • modelMapper入门及使用解析

    在mappermodel中,一般情况下保持属性名一致即可以不用任何配置就可直接转换,mappermodel的原理是基于反射原理进行赋值的,或是直接对成员变量赋值...

    tanoak
  • 设计模式之简单工厂

    编写好之后,来看Main方法,当需要苹果时只需要修改一个参数就行了,并不需要在main方法中new,有小伙伴可能要问了,这代码没变少反而多了,关于这个问题请看设...

    tanoak
  • 设计模式之 原型模式

    在Java中实现原型模式十分简单,只需要实现Cloneable接口并重写clone()方法就可以了

    tanoak
  • Nacos配置中心动态获取数组配置

    有的时候我们需要动态获取一系列的配置项,假设我们在nacos配置中心的配置如下,nacos配置中心的其他设置请参考Nacos搭建流程

    算法之名
  • 图解Java设计模式之原型模式

    现在有一只羊tom,姓名为 : tom,年龄为 :1,颜色为 :白色,请编写程序创建和tom羊属性完全相同的10只羊。

    海仔
  • 除了FastJson,你也应该了解一下Jackson(二)

    上一篇文章介绍了Jackson中的映射器ObjectMapper,以及如何使用它来实现Json与Java对象之间的序列化和反序列化,最后介绍了Jackson中一...

    东溪陈姓少年
  • vue checkbox list 增删改

    kirin
  • golang fmt(格式换 I O接口)

    fmt 方法可以大致分为 print, scan两类, 根据基础方法可以构建特定方法。

    copy_left
  • delegates - 委托模式的简单实现

    最近发现一个有意思的模块 - delegates,它由大名鼎鼎的 TJ 所写,可以帮我们方便快捷地使用设计模式当中的委托模式(Delegation Patte...

    IMWeb前端团队
  • Hadoop(十一)Hadoop IO之序列化与比较功能实现详解

    前言   上一篇给大家介绍了Hadoop是怎么样保证数据的完整性的,并且使用Java程序来验证了会产生.crc的校验文件。这一篇给大家分享的是Hadoop的序列...

    用户1195962

扫码关注云+社区

领取腾讯云代金券