栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

EasyExcel的数据写入和导出

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

EasyExcel的数据写入和导出

目录

总体效果:

要上传的excel文件

postman请求服务器上传

写入数据库成功!

1.上传excel代码部分

引入easyexcel依赖

实体类

上传代码,此处为核心代码,每五条插入一次数据库:

StudentPutReadMapper部分:

 结果:

2.下载数据库导出excel

实体类

代码如下,关注核心部分即可

 导出效果


总体效果:

要上传的excel文件

postman请求服务器上传

写入数据库成功!

1.上传excel代码部分

引入easyexcel依赖
        
        
            com.alibaba
            easyexcel
            2.2.7
        

实体类

上传代码,此处为核心代码,每五条插入一次数据库:
 @ApiOperation(value = "上传Excel")
    @GetMapping("put")
    public ResponseResult putExcel(@RequestParam("file") MultipartFile file) {

        List studentPutFileReadList = new ArrayList<>();
        InputStream inputStream = null;
        try {
            inputStream = file.getInputStream();
        } catch (IOException e) {
            e.printStackTrace();
        }

        EasyExcel.read(inputStream, StudentPutFileRead.class, new AnalysisEventListener() {
            @Override
            public void invoke(StudentPutFileRead studentPutFileRead, AnalysisContext analysisContext) {
                studentPutFileReadList.add(studentPutFileRead);
                if (studentPutFileReadList.size() == 5){
                    //批量插入数据库
                    studentPutReadMapper.batchInsert(studentPutFileReadList);
                }
                // 清空集合
                studentPutFileReadList.clear();
            }

            @Override
            public void doAfterAllAnalysed(AnalysisContext analysisContext) {
            }
        }).sheet().doRead();
        return new ResponseResult(200, "插入数据库成功");
    }

StudentPutReadMapper部分:
@Mapper
public interface StudentPutReadMapper extends BaseMapper {

    @Insert({
            ""
    })
    void batchInsert(@Param("insertList") List studentPutFileReadList);
}

 结果:

2.下载数据库导出excel 实体类
@Data
@TableName("student_read")
public class StudentRead implements Serializable {

    @ExcelProperty(value = {"学生信息","学生编号"})
    private Integer id;

    @ExcelProperty(value = {"学生信息","学生姓名"})
    private String name;

    @ExcelProperty(value = {"学生信息","学生薪水"})
    private Double salary;

    @ExcelProperty(value = {"学生信息","学生生日"})
    private Date birthday;
}

代码如下,关注核心部分即可
    
    @ApiOperation(value = "下载Excel")
    @GetMapping("down")
    public ResponseResult downExcel() {
        Random random = new Random(8);
        // 下载的地址以及名称
        String PATH = "F:\文件\excel下载\学生测试";
        // 查询数据库
        List list = studentReadMapper.selectList(null);
        // 核心代码
        EasyExcel.write(PATH + ".xlsx", StudentRead.class)
                .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
                .sheet().doWrite(list);
        return new ResponseResult(200, "下载成功");
    }

 导出效果

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/880656.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号