ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JAVA Excel 읽고 쓰기
    JAVA 2021. 6. 2. 13:59
    728x90
    728x90

    JAVA 에서 Poi 라이브러리를 사용하면 EXCEL 을 편집할 수 있다

    기존 Excel 파일을 읽어서 그 위에 새롭게 편집을 하고 싶을 때 사용하면 좋은 예제이다

    위 엑셀 파일에서 메뉴1, 메뉴2, 메뉴3 인 Header 에 메뉴4, 메뉴5 를 추가하고 싶고 Cell 의 값을 새로 바꾸고 싶다

     

    Excel 읽고 쓰기 순서

    엑셀 파일을 읽고 다시 쓸 필요가 있다 

    그 순서는 아래와 같다

    1. FileInputStream 으로 파일 읽기

    2. XSSFWorkbook 객체 생성하기

    3. XSSFSheet 객체 생성

    4. XSSFRow 첫번째 Row 가져와서 수정하기

    5. 2번째 Row 부터 데이터 삽입

    6. FileOutputStream 으로 파일 저장하기

    7. 자원반환

     

     

    Code

    코드로 1~5 을 살펴보자

    String filePath = "C:\\Users\\a360500\\Desktop\\sample.xlsx";		// 불러올 파일
    
    // 1. FileInputStream 으로 파일 읽기
    FileInputStream inputStream = new FileInputStream(filePath);
    
    // 2. XSSFWorkbook 객체 생성하기
    XSSFWorkbook workbook = new XSSFWorkbook(inputStream);
    // 3. XSSFSheet 객체 생성 - 첫번째 시트를 가져온다 
    XSSFSheet sheet = workbook.getSheetAt(0);
    
    // 4. XSSFRow 첫번째 Row 가져와서 수정하기
    XSSFRow row = sheet.getRow(0);			    // 시트의 첫번째 Row 를 가져온다
    int lastColNum = row.getLastCellNum();		    // 마지막 칼럼의 index 를 구한다
    row.createCell(lastCellNum).setCellValue("메뉴4");   // 칼럼을 생성한다
    
    // 5. 2번째 Row 부터 데이터 삽입
    for(int i = 0; i < 2; i++) {
        row = sheet.createRow(i + 1);		// row 를 새로 생성한다
        row.createCell(0).setCellValue((10 * i) + (i + 1));
        row.createCell(1).setCellValue((10 * i) + (i + 2));
        row.createCell(2).setCellValue((10 * i) + (i + 3));
        row.createCell(3).setCellValue((10 * i) + (i + 4));
    }
    
    // 6. FileOutputStream 으로 파일 저장하기
    FileOutputStream out = new FileOutputStream(filePath);
    workbook.write(out);
    
    // 7. 자원 반환
    out.close();
    workbook.close();
    inputStream.close();

     

     

     

    728x90
    728x90
Designed by Tistory.