知乐空间

java操作excel

前言:本篇博客读写Excel使用的是EasyExcel,EasyExcel是一个基于Java的简单、省内存的读写Excel的开源项目。详细了解和使用请参考官方文档:EasyExcel · 语雀

一、Excel示例

Java 读写Excel

二、代码实现

1、引入依赖


    com.alibaba
    easyexcel
    2.2.7

2、创建对象

import lombok.Data;
import com.alibaba.excel.annotation.ExcelProperty;

@Data
public class UserExcel {

    @ExcelProperty(value = "用户名", index = 0)
    private String name;

    @ExcelProperty(value = "登录名", index = 1)
    private String loginName;

    @ExcelProperty(value = "用户密码", index = 2)
    private String loginPassword;
}

3、读写Excel

/**
 * 批量导入用户信息
 */
@Override
public void batchInsert(MultipartFile file) throws IOException {
    List users = new ArrayList<>();
    List userExcels = new ArrayList<>();

    // 读excel
    EasyExcel.read(file.getInputStream(), UserExcel.class, new AnalysisEventListener() {
        @Override
        public void invoke(UserExcel userExcel, AnalysisContext analysisContext) {
            User user = new User();
            BeanUtils.copyProperties(userExcel, user);
            users.add(user);
            userExcels.add(userExcel);
        }

        @Override
        public void doAfterAllAnalysed(AnalysisContext analysisContext) {
        	// 存储到数据库中
            users.forEach(user -> baseMapper.insert(user));
            System.out.println("excel文件读取完毕!");
        }
    }).sheet().doRead();;

    // 写excel
    EasyExcel.write(new File("D://输入用户信息.xlsx"), UserExcel.class).sheet().doWrite(userExcels);

4、写Excel成功示例

Java 读写Excel

路漫漫其修远兮,吾将上下而求索

译文:在追寻真理方面,前方的道路还很漫长,但我将百折不挠,不遗余力地去追求和探索。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 ZLME@ZLME.COM 举报,一经查实,立刻删除。

留言与评论(共有 0 条评论)
验证码: