【Java】集成easyexcel

发布于:2025-02-22 ⋅ 阅读:(15) ⋅ 点赞:(0)

以下代码集成spring-data-jpa进行数据库操作,只需关注easyexcel部分即可。

1.引入依赖

<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
			<version>3.2.5</version>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-jpa</artifactId>
			<version>3.2.5</version>
		</dependency>

		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>8.0.33</version>
		</dependency>
		
		<!--引入easyexcel依赖包-->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>easyexcel</artifactId>
			<version>3.1.1</version>
		</dependency>
	</dependencies>

2.application.yml

server:
  port: 18072

spring:
  application:
    name: easy-poi
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/java_study?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&usessL=true
    username: root
    password: root
  jpa:
    database: MYSQL
    hibernate:
      ddl-auto: update
    show-sql: false
    open-in-view: true
    properties:
      hibernate:
        format_sql: true

3.创建类型转换类

用于空值转整型,文本转整型等类型异常问题

BigDecimal类型转换

package org.office.easypoi.converter;

import cn.hutool.core.util.StrUtil;
import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.data.ReadCellData;
import com.alibaba.excel.metadata.data.WriteCellData;
import com.alibaba.excel.metadata.property.ExcelContentProperty;

import java.math.BigDecimal;

public class BigDecimalConverter implements Converter<BigDecimal> {
   

    @Override
    public Class supportJavaTypeKey() {
   
        return BigDecimal.class;
    }
	
	// 读入文件数据转为Java实体类
    @Override
    public BigDecimal convertToJavaData(ReadCellData<?> cellData