<aside>

JAVA 에서 Excel 엑셀 파일 사용하여 파일 처리

</aside>


1. Apache POI 다운로드

Apache POI™ - Download Release Artifacts

2. 다운로드 할 버전 선택

<Apache POI 다운로드페이지 하단에서 클릭>

<Apache POI 다운로드페이지 하단에서 클릭>

<필요한 버전에 맞게 찾아 다운로드>

<필요한 버전에 맞게 찾아 다운로드>

3. java 프로젝트에서 적용할 jar 파일들

<aside>

image.png

image.png

image.png

4. Excel( 엑셀 ) 파일 읽어서 콘솔에 출력하기 예제


package test;

import java.io.FileInputStream;
import java.io.IOException;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.DateUtil;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class Test {

	public static void main(String[] args) throws Exception {
		String fileName = "excel.xls";
		try (FileInputStream fis = new FileInputStream(fileName); 
				Workbook workbook =fileName.endsWith(".xls") ?
						new HSSFWorkbook(fis):new XSSFWorkbook(fis)) {

			Sheet sheet = workbook.getSheetAt(0); // 첫 번째 시트를 가져옴

			for (Row row : sheet) {
				for (Cell cell : row) {
					// 셀 유형에 따라 데이터를 읽음
					switch (cell.getCellType()) {
					case STRING:
						System.out.print(cell.getStringCellValue() + "\\t");
						break;
					case NUMERIC://날짜,실수,정수
						if (DateUtil.isCellDateFormatted(cell)) {
							System.out.print(cell.getDateCellValue() + "\\t");
						} else {
							double numericValue=cell.getNumericCellValue();
							//정수인지 실수인지 구분
							if(numericValue==Math.floor(numericValue)) {
								//소숫점이하를 버리값과 비교해서 같다면 (정수.0) 
								System.out.print((int)cell.getNumericCellValue()+ "\\t");
							}else {
								System.out.print(numericValue+ "\\t");
							}
						}
						break;
					case BOOLEAN:
						System.out.print(cell.getBooleanCellValue() + "\\t");
						break;
					case FORMULA:
						System.out.print(cell.getCellFormula() + "\\t");
						break;
					default:
						System.out.print(" ");
					}
				}
				System.out.println(); // 행을 출력한 후 줄바꿈
			}

		} catch (IOException e) {
			System.out.println("파일을 읽는 중 오류가 발생했습니다: " + e.getMessage());
		}

	}

}