반응형
이전 시간에 만든 엑셀 파일을 자바 프로그램을 이용하여 읽는 예제를 구현하도록 하겠습니다.
poi 라이브러리에 대한 설명, 자바로 엑셀 다운로드 예제를 참고하실 분은 아래의 링크를 참고해주세요
pom.xml 설정
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.7</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.7</version>
</dependency>
소스
소스의 대한 설명은 주석으로 대신하겠습니다.
package ExcelPackage;
import java.io.FileInputStream;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ExcelReadTest {
public static void main(String[] args) throws Exception{
try {
// 경로에 있는 파일을 읽
FileInputStream file = new FileInputStream("/Users/hihi/excelDownTest.xlsx");
XSSFWorkbook workbook = new XSSFWorkbook(file);
int rowNo = 0;
int cellIndex = 0;
XSSFSheet sheet = workbook.getSheetAt(0); // 0 번째 시트를 가져온다
// 만약 시트가 여러개 인 경우 for 문을 이용하여 각각의 시트를 가져온다
int rows = sheet.getPhysicalNumberOfRows(); // 사용자가 입력한 엑셀 Row수를 가져온다
for(rowNo = 0; rowNo < rows; rowNo++){
XSSFRow row = sheet.getRow(rowNo);
if(row != null){
int cells = row.getPhysicalNumberOfCells(); // 해당 Row에 사용자가 입력한 셀의 수를 가져온다
for(cellIndex = 0; cellIndex <= cells; cellIndex++){
XSSFCell cell = row.getCell(cellIndex); // 셀의 값을 가져온다
String value = "";
if(cell == null){ // 빈 셀 체크
continue;
}else{
// 타입 별로 내용을 읽는다
switch (cell.getCellType()){
case XSSFCell.CELL_TYPE_FORMULA:
value = cell.getCellFormula();
break;
case XSSFCell.CELL_TYPE_NUMERIC:
value = cell.getNumericCellValue() + "";
break;
case XSSFCell.CELL_TYPE_STRING:
value = cell.getStringCellValue() + "";
break;
case XSSFCell.CELL_TYPE_BLANK:
value = cell.getBooleanCellValue() + "";
break;
case XSSFCell.CELL_TYPE_ERROR:
value = cell.getErrorCellValue() + "";
break;
}
}
System.out.println( rowNo + "번 행 : " + cellIndex + "번 열 값은: " + value);
}
}
}
}catch(Exception e) {
e.printStackTrace();
}
}
}
결과
'개발언어 > JAVA' 카테고리의 다른 글
[JAVA] 삼항연산자이란? 사용법 & 예제 (0) | 2020.10.06 |
---|---|
[JAVA] 자바 스윙( Swing ) / JFileChooser 예제 (0) | 2020.10.05 |
[JAVA] 자바 POI 를 이용하여 엑셀 파일 만들기/ POI 라이브러리 사용법 (0) | 2020.10.02 |
[JAVA] 자바 POI 라이브러리 다운로드 방법/ 엑셀 다운로드 방법 (1) | 2020.10.01 |
[JAVA] 자바 날짜 포맷 변경 방법(SimpleDateFormat) yyyyMMdd (1) | 2020.08.06 |
댓글