解析Excel数据

2019-10-25  本文已影响0人  自由主义者
first:导入依赖
  <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>easyexcel</artifactId>
      <version>1.1.2-beta4</version>
  </dependency>
second:读取
    @Transactional
    public Map<String, Object> batchQuitExcel(MultipartFile file, String userType) throws Exception {
        if (file.isEmpty()) {
            throw new Exception("请上传文件");
        } else {
            InputStream inputStream = file.getInputStream();
            List<Object> list = EasyExcelFactory.read(inputStream, new Sheet(1, 1, User.class));
            inputStream.close();
        }
   }    

User实体类

import java.io.Serializable;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
import org.springframework.format.annotation.DateTimeFormat;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.metadata.BaseRowModel;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import tk.mybatis.mapper.annotation.KeySql;

/**
 * 用户信息
 *
 */
@Entity
@Table(name = "t_user")
@Data
public class User extends BaseRowModel implements Serializable {

    @Id
    @Column(length = 32, nullable = false)
    @KeySql(genId = UUIDGenId.class)
    private String id;

    private static final long serialVersionUID = -8822374049581195909L;

    //工号
    @ExcelProperty(index = 0)
    private String jobNumber;

    //用户昵称
    @ExcelProperty(index = 1)
    private String userName;

    //出生日期
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ExcelProperty(index = 5, format = "yyyy-MM-dd")
    private Date birthday;

    //邮箱
    @ExcelProperty(index = 3)
    private String email;

    //性别(1、男,2、女)

    private Integer gender;

    //从excel导入用户,接收男 女
    @Transient
    @ExcelProperty(index = 2)
    private String genderStr;

    //入职日期
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ExcelProperty(index = 6, format = "yyyy-MM-dd")
    private Date hiredate;

    //身份证号
    @ExcelProperty(index = 7)
    private String identity;

    //密码密文
    private String password;

    //备注
    @ExcelProperty(index = 8)
    private String remarks;

    //手机号
    @ExcelProperty(index = 4)
    private String userPhone;

    //有效期
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date validTime;

}
上一篇下一篇

猜你喜欢

热点阅读