민서네집

[Apache POI 라이브러리] 병합된 cell 인지 확인하는 코드 본문

Java

[Apache POI 라이브러리] 병합된 cell 인지 확인하는 코드

브라이언7 2015. 4. 10. 09:44

Maven pom.xml 의 일부분


<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
	
	<properties>
		<org.apache.poi.version>3.11</org.apache.poi.version>
	</properties>
	
	<dependencies>
	
		<!-- org.apache.poi -->
		<dependency>
			<groupId>org.apache.poi</groupId>
			<artifactId>poi</artifactId>
			<version>${org.apache.poi.version}</version>
		</dependency>

		<dependency>
			<groupId>org.apache.poi</groupId>
			<artifactId>poi-ooxml</artifactId>
			<version>${org.apache.poi.version}</version>
		</dependency>

		<dependency>
			<groupId>org.apache.poi</groupId>
			<artifactId>poi-ooxml-schemas</artifactId>
			<version>${org.apache.poi.version}</version>
		</dependency>

		<!-- File Upload -->
		<dependency>
			<groupId>commons-fileupload</groupId>
			<artifactId>commons-fileupload</artifactId>
			<version>1.3.1</version>
		</dependency>

	</dependencies>

</project>	


Java Code

private boolean isMerged(org.apache.poi.ss.usermodel.Sheet sheet, int rowIdx, int colIdx) {

	for(int i = 0; i < sheet.getNumMergedRegions(); ++i)
    {
		org.apache.poi.ss.util.CellRangeAddress range = sheet.getMergedRegion(i);

        String message = String.format("%d - %d - %d - %d", range.getFirstRow(), range.getLastRow(), range.getFirstColumn(), range.getLastColumn());
        System.out.println(message);

        if( rowIdx >= range.getFirstRow() && rowIdx <= range.getLastRow() && colIdx >= range.getFirstColumn() && colIdx <= range.getLastColumn() ) {
        	return true;
        }
    }
	return false;
}


[참고] 

How to Determine Merged Cells in a Certain Row



XLS - Merge Cell Data - Java POI Example Program






Comments