因近期工作需要,要做一个Excel解析的事情,这里要解析的文件为任意Excel文件,其中会包含各种各样的行合并、列合并等操作,需要解析出该Excel中具体行、列、Cell中的值信息,故编写此文章做以记录,如有问题还请指正,谢谢!
1. pom.xml中引用poi相关的包:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.17</version>
</dependency>
2. 实体类:
@Data
public class ExcelEntity {
/**
* 开始行
*/
private int startRow;
/**
* 结束行
*/
private int endRow;
/**
* 开始列
*/
private int startCol;
/**
* 结束列
*/
private int endCol;
/**
* 单元格值
*/
private String value;
}
3. Excel处理类:
package com.quick.bookdataclean.excel;
import com.quick.bookdataclean.test.ExcelEntity;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.util.CellRangeAddress;
import java.io.IOException;
import java.io.InputStrea