EasyPoi快速入门(Excel导入导出工具)

这篇具有很好参考价值的文章主要介绍了EasyPoi快速入门(Excel导入导出工具)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

简介:
easypoi是一款Excel快速导入导出的工具,最近有所使用,结合了网上的一些用法和官方文档的介绍,在在这里总结一下最简单的esaypoi导入Excel的实现,网上很多教程都已经封装了工具类,虽然方便,但第一次接触easypoi可能看的不是清晰,现在总结一下最为直观的SpringBoot集成easypoi快速入门.

快速入门: 一.导入jar包

        <dependency>
            <groupId>cn.afterturn</groupId>
            <artifactId>easypoi-spring-boot-starter</artifactId>
            <version>4.2.0</version>
        </dependency>

二.@Excel注解使用(导入示例类使用)

EasyPoi快速入门(Excel导入导出工具)

结合实体类的示例:

@Data
public class UserPo implements IExcelModel, IExcelDataModel {
    // name 属性对应Excel表中的这一列的名字,和Mysql数据里的列名差不多
    @Excel(name = "id")
    private Integer id;
    @Excel(name = "openid")
    private String openid;
    @Excel(name = "nickname")
    private String nickname;
    // replace这个属性,是指定替换的值,如果Excel表中是1,那么封装进来就是男,中间的分隔符是下划线
    @Excel(name = "sex" , replace = {"1_男" , "2_女" , "0_未知"})
    private String sex;
    @Excel(name = "city")
    private String city;
    @Excel(name = "country")
    private String country;
}

三.编写Servlet导入数据

在这里我们只要写一个接受文件上传的方法就好了,当然这个文件要是Excel的文件,我们读取数据的时候并不需要将文件读取并写到服务器的目录下,只是单纯的读取文件,然后使用easypoi的工具去读取就可以,注意这个工具只是将Excel表中的数据读入内存.

    @PostMapping("xlsUpdate")
    @ResponseBody
    public Result getUpdate(MultipartFile file) throws Exception {
        // 这里实例导入的对象
        ImportParams params = new ImportParams();
 
        // 下面两句的set很重要,如果设置不对会出现问题
        // HeadRows是指的你的列名的那一行,表头行数,默认1
        // 如果你的Excel表上来第一行就是 姓名 , 年龄 , 罩杯...
        // 那么这里指定HeadRows是第一行,为1
        params.setHeadRows(1);
 
        // 表格标题行数,默认0
        // 意思就是如果你的表上来就是   xx地区胸部大小统计表
        // 那这里就是你表的标题占的行数
        params.setTitleRows(0); 
        
        // 后面的这个方法是固定的
        // 返回读取列的数组                          这里的输入流直接MultipartFile的输入流
        List<UserPo> result = ExcelImportUtil.importExcel(file.getInputStream(),
            // 实体类的class  实例的导入对象
                UserPo.class, params);
 
        
        // 以上方法可以获得Excel表中的值,并且封装了实体类对象,下面有了实体类对象,那我们想干啥 
        // 就干啥了
        //*********************************************
        userService.insertUserList(result);
        Result r = new Result();
        r.setMsg("0000");
        return r;
    }

这里使用的接受上传文件的方法和MultipartFile类是SpringBoot提供好的

前台当然也要写一个文件上传的表单.这个就不演式了

四:编写Servlet导出数据

导出数据的时候是将你内存中的数据导入到一个Excel表中,正常是前台一个按钮,点击会下载Excel表

导出时的实体类也需要@Excel注解,并且可以使用一些属性定义要下载的表的行高列宽等属性,详情见上面的表格.并且也可以使用replace属性,指定替换某些值

    // 不知道为啥这段代码不高亮,很尴尬,大家凑合着看
    @GetMapping("downLoad")
    public void downLoad(HttpServletResponse resp) throws IOException {
        // 获取你的实体类list集合
        List<UserEx> list = userService.listUserEx();
 
        // 创建Workbook这个对象
        // 第一个参数是一个ExportParams对象,这里直接new,
        // ExportParams对象里面的第一个参数是你自己定义的表的名字
        // ExportParams对象里面的第二个参数是你自己定义Excel中Sheet的名字
        // 第二个参数是实体类的class  第三个是你封装的集合 
        Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams("用户表", "用户详
       情") ,UserEx.class , list);
     
        // 设置下载的头信息 使用URLEncoder.encode是为了解决编码问题
        resp.setHeader("Content-Disposition" , "attachment;filename=" + 
                         URLEncoder.encode("用户表.xls" , "utf-8"));
        
        ServletOutputStream os = resp.getOutputStream();
        // 用workbook对象直接写出输出流就可以
        workbook.write(os);
    }

至此就简单的完成了easypoi的简单的导入导出,大家可以参考尝试一下,确实使用很简单文章来源地址https://www.toymoban.com/news/detail-421549.html

到了这里,关于EasyPoi快速入门(Excel导入导出工具)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • springboot项目利用easypoi导入导出(包括一对多导出的动态列选择,以及普通导入)

    因为项目只涉及到一对多的导出,以及普通的导入,所以,本文只会涉及这方面的使用 导入的时候,有校验,如果有错误数据,就会返回错误数据的所在行,以及错误信息(如果需要返回错误信息的所在的那几行数据以及错误信息的excel文件的话,可以看看第三个参考文章,

    2023年04月21日
    浏览(27)
  • spring boot 整合EasyPoi导入导出,下载模版功能

    name:Excel中的列名; width:指定列的宽度; needMerge:是否需要纵向合并单元格; format:当属性为时间类型时,设置时间的导出导出格式; desensitizationRule:数据脱敏处理,3_4表示只显示字符串的前3位和后4位,其他为*号; replace:对属性进行替换; suffix:对数据添加后缀。

    2024年02月11日
    浏览(29)
  • easypoi模板导出excel以及遇到的合并问题

    背景是甲方要导出周报,但是导出的周报的样式比较复杂,只能选用模板导出,但是第一次使用模板导出遇到了一些问题的记录 下图是来自官方文档的指令图片,附带官网链接,可以直接去官网看 easypoi官网链接 下图就是我的模板,在测试的时候我感觉NULL和NULL没有太大的区

    2024年02月11日
    浏览(29)
  • 使用EasyPoi实现Excel的按模板样式导出

    1690342020350导出测试.xlsx 如下 #fe 使用#fe命令可以实现集合数据的横向拓展,比如模板代码是 导出的excel里面就会显示会自当前列,向右拓展,效果可参见下面的导出文件截图 v_fe 使用v_fe命令可以实现不固定列的横向遍历,比如模板代码是 分数 ID {{#fe:maths t.score t.id}} 这种情况

    2024年02月15日
    浏览(35)
  • 【Java Easypoi & Apache poi】 Word导入与导出

            如果这里造成了读取resources下的文件返回前端乱码问题:除了HttpServletResponse响应中设置字体问题,还有可能是因为在编译期文件就已经乱码了,所以需要在pom.xml中增加以下配置。

    2024年02月10日
    浏览(44)
  • 模板文件导出Excel【EasyPoi实战系列】- 第478篇

    ​历史文章( 文章 累计470+) 《国内最全的Spring Boot系列之一》 《国内最全的Spring Boot系列之二》 《国内最全的Spring Boot系列之三》 《国内最全的Spring Boot系列之四》 《国内最全的Spring Boot系列之五》 《国内最全的Spring Boot系列之六》 【EasyPoi实战系列】Spring Boot使用Ea

    2024年02月11日
    浏览(23)
  • 【Easypoi & Apache poi】 Java后端 Word导入与导出

            如果这里造成了读取resources下的文件返回前端乱码问题:除了HttpServletResponse响应中设置字体问题,还有可能是因为在编译期文件就已经乱码了,所以需要在pom.xml中增加以下配置。

    2024年02月11日
    浏览(37)
  • 导入Excel数据【EasyPoi实战系列】- 第480篇

    历史文章( 文章 累计480+) 《国内最全的Spring Boot系列之一》 《国内最全的Spring Boot系列之二》 《国内最全的Spring Boot系列之三》 《国内最全的Spring Boot系列之四》 《国内最全的Spring Boot系列之五》 《国内最全的Spring Boot系列之六》 【EasyPoi实战系列】Spring Boot使用EasyP

    2024年02月16日
    浏览(25)
  • Java 使用hutool工具进行导出导入excel表格(代码很简单)

    创建一个Controller进行测试 

    2024年02月07日
    浏览(50)
  • 使用Java导入、导出excel详解(附有封装好的工具类)

    😜 作           者 :是江迪呀 ✒️ 本文 : Java 、 Excel 、 导出 、 工具类 、 后端 ☀️ 每日   一言 :有些事情不是对的才去坚持,而是坚持了它才是对的! 我们在日常开发中,一定遇到过要将数据导出为 Excel 的需求,那么怎么做呢?在做之前,我们需要思考

    2024年02月06日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包