文档章节

SpringBoot整合easyexcel实现Excel导入

一个程序员的成长
 一个程序员的成长
发布于 10/10 22:10
字数 385
阅读 50
收藏 0

上篇写了Excel如何导出,那么其实在提供的那几个工具类中已经有了导入的方法,只需要直接调用即可。下面我们来简单演示一下,如何导入。

我们先看下Controller是如何写的

@PostMapping("/import/order")
public ResultMsg import_order(MultipartFile excel) {

    Object objList = ExcelUtil.readExcel(excel, new OrderExcelBO(), 1, 1);

    if (objList == null) {
        return ResultMsg.fail(500, "导入的数据不能为空");
    }

    List<OrderExcelBO> orderList = (List<OrderExcelBO>) objList;

    if (orderList == null || orderList.size() <= 0) {
        return ResultMsg.fail(500, "导入的数据不能为空");
    }

    orderList.forEach(System.out::println);

    return ResultMsg.success();
}

我们主要再看下readExcel()方法是如何写的

/**
     * 读取某个 sheet 的 Excel
     *
     * @param excel       文件
     * @param rowModel    实体类映射,继承 BaseRowModel 类
     * @param sheetNo     sheet 的序号 从1开始
     * @param headLineNum 表头行数,默认为1
     * @return Excel 数据 list
     */
    public static List<Object> readExcel(MultipartFile excel, BaseRowModel rowModel, int sheetNo, int headLineNum) {
        ExcelListener excelListener = new ExcelListener();
        ExcelReader reader = getReader(excel, excelListener);

        if (reader == null) {
            return null;
        }

        reader.read(new Sheet(sheetNo, headLineNum, rowModel.getClass()));

        return excelListener.getDatas();
    }

在底层的方法我就不贴出来了,我大家可在(SpringBoot整合easyexcel实现Excel的导出)文章里面找到需要的工具类,我们就直接看下运行结果。

导出结果

那么数据都已经打印出来了,那么存入数据库就超级简单了。

© 著作权归作者所有

一个程序员的成长
粉丝 31
博文 18
码字总数 22235
作品 0
西安
后端工程师
私信 提问
Java 解析 Excel 工具 - easyexcel

easyexcel —— JAVA 解析 Excel 工具 Java 解析、生成 Excel 比较有名的框架有 Apache poi、jxl 。但他们都存在一个严重的问题就是非常的耗内存,poi 有一套 SAX 模式的 API 可以一定程度的...

匿名
2018/08/13
9.8K
1
Java解析excel工具easyexcel助你快速简单避免OOM[图]

Java解析excel工具easyexcel助你快速简单避免OOM[图] Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程...

原创小博客
2018/07/19
628
1
easyExcel合并数据单元格

阿里easyExcel如何实现数据的合并单元格处理?如下图,生成的excel文件行数据有单元格的合并:

程序员小强
01/08
3.1K
0
Python操作Word、EXCEL,ACCESS

python Excel 编程 1)Excel hyperlink: xlsApp = win32com.client.Dispatch('Excel.Application') cell = xls.App.ActiveSheet.Cells(1,1) cell.Hyperlink.Add(cell,'http://xxx') 2)Excel ......

张卫泉
2012/07/02
1K
0
POI事件模式指北(三)- 读取Excel实战

POI事件模式指北(三)- 读取Excel实战 1、简介 这篇文章将介绍一个完整的利用POI事件模式读取Excel的实例,目的是贴近实际使用中的情况,并且考虑了细节的问题而不仅仅满足于实现简单功能。...

不科学计算
02/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Andorid SQLite数据库开发基础教程(2)

Andorid SQLite数据库开发基础教程(2) 数据库生成方式 数据库的生成有两种方式,一种是使用数据库管理工具生成的数据库,我们将此类数据库称为预设数据库,另一种是使用代码生成的数据库。...

大学霸
29分钟前
3
0
YecPad 开源啦!: 基于C#的功能强大的可编辑记事本文本编辑软件

JY Lin 开源:YecPad : 基于C#的功能强大的可编辑记事本文本编辑软件 YecPad 是一款基于C#编程语言开发的功能强大的可编辑记事本文本编辑软件。 可以进行文本文件的打开、保存、删除及编辑功...

YDOOK
36分钟前
3
0
StringBuilder 与 StringBuffer 的区别

StringBuffer是线性安全的,支持并发操作,适合多线程。 StringBuilder线性不安全,不支持并发操作,适合单线程。 也就是说他们俩区别就在于支不支持并发操作,使用上基本上类似...

无名氏的程序员
39分钟前
3
0
js 找数组中的最值

本文转载于:专业的前端网站➸js 找数组中的最值 背景: 2个数组以下 , 比如 [[4, 9, 1, 3], [13, 35, 18, 26], [32, 35, 97, 39], [1000000, 1001, 857, 1]] 找最值的时候,我一开始想用两个...

前端老手
47分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部