iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >SpringBoot集成EasyExcel的步骤
  • 906
分享到

SpringBoot集成EasyExcel的步骤

2024-04-02 19:04:59 906人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录一 、Easyexcel简介二、常用注解 三、依赖四、监听五、接口导入Excel六、接口 导出Excel (httpservletResponse response, HttpS

一 、EasyExcel简介

EasyExcel优势

  •    注解式自定义操作。
  •    输入输出简单,提供输入输出过程的接口
  •    支持一定程度的单元格合并等灵活化操作

二、常用注解

  • @ExcelProperty 指定当前字段对应excel中的那一列。可以根据名字或者Index去匹配。当然也可以不写,默认第一个字段就是index=0,以此类推。千万注意,要么全部不写,要么全部用index,要么全部用名字去匹配。千万别三个混着用,除非你非常了解源代码中三个混着用怎么去排序的。
  • @ExcelIgnore 默认所有字段都会和excel去匹配,加了这个注解会忽略该字段
  • @DateTimeFORMat 日期转换,用String去接收excel日期格式的数据会调用这个注解。里面的value参照java.text.SimpleDateFormat
  • @NumberFormat 数字转换,用String去接收excel数字格式的数据会调用这个注解。里面的value参照java.text.DecimalFormat
  • @ExcelIgnoreUnannotated默认不加ExcelProperty 的注解的都会参与读写,加了不会参与

三、依赖


  <!-- easyexcel 主要依赖  这一个基本上就够了-->
<dependency>
   <groupId>com.alibaba</groupId>
   <artifactId>easyexcel</artifactId>
   <version>2.1.4</version>
</dependency>
    <!-- servlet-api -->
<dependency>
   <groupId>javax.servlet</groupId>
   <artifactId>javax.servlet-api</artifactId>
   <version>4.0.1</version>
   <scope>provided</scope>
</dependency>
<dependency>
   <groupId>com.alibaba</groupId>
   <artifactId>fastJSON</artifactId>
   <version>1.2.47</version>
</dependency>

四、监听



public class ExcelListener extends AnalysisEventListener {
    //可以通过实例获取该值
    private List<Object> datas = new ArrayList<Object>();

    @Override
    public void invoke(Object o, AnalysisContext analysisContext) {
        datas.add(o);//数据存储到list,供批量处理,或后续自己业务逻辑处理。
        doSomething(o);//根据自己业务做处理
    }

    private void doSomething(Object object) {
        //1、入库调用接口
    }

    public List<Object> getDatas() {
        return datas;
    }

    public void setDatas(List<Object> datas) {
        this.datas = datas;
    }

    @Override
    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
        // datas.clear();//解析结束销毁不用的资源
    }
}

五、接口导入Excel


try {
            //获取文件名
            String filename = file.getOriginalFilename();
            //获取文件流
            InputStream inputStream = file.getInputStream();
            //实例化实现了AnalysisEventListener接口的类
            ExcelListener listener = new ExcelListener();
            //传入参数
            ExcelReader excelReader = new ExcelReader(inputStream, ExcelTypeEnum.XLS, null, listener);
            //读取信息
            excelReader.read(new Sheet(1, 0, Test.class));
            //获取数据
            List<Object> list = listener.getDatas();
            if (list.size() > 1) {
                for (int i = 0; i < list.size(); i++) {
                    Testobj = (Test) list.get(i);
                    jsONObject jo = new JSONObject();
                }
            }
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }

六、接口 导出Excel (HttpServletResponse response, HttpServletRequest request)


try {
    String filenames = "111111";
    String userAgent = request.getHeader("User-Agent");
    if (userAgent.contains("MSIE") || userAgent.contains("Trident")) {
        filenames = URLEncoder.encode(filenames, "UTF-8");
    } else {
        filenames = new String(filenames.getBytes("UTF-8"), "ISO-8859-1");
    }
    response.setContentType("application/vnd.ms-exce");
    response.setCharacterEncoding("utf-8");
    response.addHeader("Content-Disposition", "filename=" + filenames + ".xlsx");
    EasyExcel.write(response.getOutputStream(), Test.class).sheet("sheet").doWrite(testList);
} catch (Exception e) {
}

七、本地导入、本地导出


List<Test> testList = new ArrayList<>();
try {
    String strUrl = "C:\\Users\\Administrator\\Desktop\\json.xlsx";
    File multipartFile = new File(strUrl);
    InputStream inputStream = new FileInputStream(multipartFile);
    //实例化实现了AnalysisEventListener接口的类
    ExcelListener listener = new ExcelListener();
    //传入参数
    ExcelReader excelReader = new ExcelReader(inputStream, ExcelTypeEnum.XLS, null, listener);
    //读取信息
    excelReader.read(new Sheet(1, 0, Test.class));
    //获取数据
    List<Object> list = listener.getDatas();
    if (list.size() > 1) {
        for (int i = 0; i < list.size(); i++) {
            Testobj = (Test) list.get(i);
        }
    }
} catch (Exception e) {
    System.out.println(e.getMessage());
}
try {
    String strUrl = "C:\\Users\\Administrator\\Desktop\\json"+System.currentTimeMillis()+".xlsx";
    EasyExcel.write(strUrl,Test.class).sheet("sheet").doWrite(testList);
} catch (Exception e) {
}

  以上就是EasyExcel的基础使用过程,欢迎点赞关注交流。

以上就是SpringBoot集成EasyExcel的步骤的详细内容,更多关于springBoot集成EasyExcel的资料请关注编程网其它相关文章!

--结束END--

本文标题: SpringBoot集成EasyExcel的步骤

本文链接: https://www.lsjlt.com/news/128419.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SpringBoot集成EasyExcel的步骤
    目录一 、EasyExcel简介二、常用注解 三、依赖四、监听五、接口导入Excel六、接口 导出Excel (HttpServletResponse response, HttpS...
    99+
    2024-04-02
  • springboot集成apidoc的步骤
    本篇内容主要讲解“springboot集成apidoc的步骤”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“springboot集成apidoc的步骤”吧!一、apidoc简介apidoc通过在你...
    99+
    2023-06-19
  • springboot 集成dubbo的步骤详解
    目录第一步 搭建zookeeper环境第二步 springboot集成dubbo1.项目目录机构2.代码编写2.1 api目录2.2 consumer目录 web访问、接口调用以及d...
    99+
    2024-04-02
  • springboot集成mybatisplus的详细步骤
    目录Mybatis-Plus介绍简介特性(官网提供)一、引入POM依赖二、配置文件application.yml三、编写表映射实体类四、编写Mapper五、测试Controller六...
    99+
    2022-11-13
    springboot集成mybatisplus springboot mybatisplus
  • SpringBoot Admin2.0集成Arthas的实现步骤
    小编给大家分享一下SpringBoot Admin2.0集成Arthas的实现步骤,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!项目最初使用 Arthas 主要有...
    99+
    2023-06-14
  • SpringBoot Admin2.0 集成Arthas的实现步骤
    目录技术选型相关 整体结构实现效果 改造方案1. 整体工程结构2. 外部链接配置 3. 对应 Spring MVC controller 实现 4. Arthas Spring Bo...
    99+
    2024-04-02
  • SpringBoot怎么集成EasyExcel应用
    这篇文章主要讲解了“SpringBoot怎么集成EasyExcel应用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SpringBoot怎么集成EasyExcel应用”吧!1、介绍特点:Ja...
    99+
    2023-06-08
  • SpringBoot集成Caffeine缓存的实现步骤
    目录Maven依赖 配置 示例 Maven依赖 要开始使用咖啡因Caffeine和Spring Boot,我们首先添加spring-boot-starter-cache和咖啡因Ca...
    99+
    2024-04-02
  • SpringBoot项目集成FTP的方法步骤
    目录写在前面FTP相关软件安装开始集成引入相关jar包引入FTPUtils.java和FTPHelper.java如何使用写在前面 FTP是一个文件传输协议,被开发人员广泛用于在互...
    99+
    2024-04-02
  • SpringBoot集成EasyExcel的应用场景分析
    1、介绍 官网地址:https://www.yuque.com/easyexcel 特点: 1、Java领域解析、生成Excel比较有名的框架有Apache poi、jxl等。但他...
    99+
    2024-04-02
  • Springboot集成Elasticsearch的步骤与相关功能
    目录集成配置步骤步骤1:加入 Maven 相关依赖步骤2:配置 elasticsearch 的主机和端口步骤3:配置 Elaseticsearch 客户端步骤4:创建文档实体步骤5:...
    99+
    2024-04-02
  • openinstall 的Android集成步骤
    openinstall的作用:        登入openinstall官网,没有账号就注册个没有应用就添加一个应用(选择高级版)        下载导入sdk...
    99+
    2023-06-04
  • .Net Core 集成 Kafka的步骤
    目录kafkabrokertopicpartitionconsumer group安装kafka.net 操作 kafka生产者消费者运行一下总结最近维护的一个系统并发有点高,所以想...
    99+
    2024-04-02
  • springboot集成opencv实现人脸识别功能的详细步骤
    目录前言什么是opencv?项目集成步骤准备工作代码Linux安装opencvLinux启动github直接白嫖前言 项目中检测人脸图片是否合法的功能,之前用的是百度的人脸识别接口,...
    99+
    2024-04-02
  • springboot集成JWT实现身份认证(权鉴)的方法步骤
    目录一、什么是JWT二、JWT组成三、JWT运行原理四、springboot集成JWT一、什么是JWT JSON Web Token (JWT),它是目前最流行的跨域身份验证解决方案...
    99+
    2023-05-16
    springboot JWT身份认证 springboot JWT身份权鉴
  • spring集成mybatis的步骤是什么
    集成Spring和MyBatis的步骤如下:1. 引入相关依赖:在项目的pom.xml文件中添加Spring和MyBatis的依赖。...
    99+
    2023-10-18
    spring mybatis
  • SpringBoot2.x 集成 Thymeleaf的详细步骤
    这篇文章主要介绍“SpringBoot2.x 集成 Thymeleaf的详细步骤”,在日常操作中,相信很多人在SpringBoot2.x 集成 Thymeleaf的详细步骤问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对...
    99+
    2023-06-20
  • .Net集成敏感词组件的步骤
    目录ToolGood.WordsValidationAttribute敏感词热重载效果结语ToolGood.Words 首先我们要使用的开源组件是 ToolGood.Words ...
    99+
    2024-04-02
  • ASP.NET Core 集成 React SPA应用的步骤
    目录wwwroot\uiReactUIMiddleware运行一下总结AgileConfig的UI使用react重写快完成了。上次搞定了基于jwt的登录模式(AntDesign Pr...
    99+
    2024-04-02
  • IDEA集成Gitee码云的实现步骤
    目录码云帐号注册和登录 码云创建远程库IDEA 集成码云 IDEA 连接码云将本地代码 push 到码云远程库pull 拉取远程库到本地库clone 克隆远程库到本地码云复制 Git...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作