π™‹π™–π™§π™¨π™žπ™£π™œ : JAVA μ—‘μ…€ 파일 νŒŒμ‹±

uuuouuoΒ·2022λ…„ 4μ›” 29일
1
post-thumbnail

πŸ“ Excel Parsing


β–ͺ implementation

: μ—‘μ…€ 파일 νŒŒμ‹±ν•΄μ£ΌλŠ” 라이브러리

implementation 'org.apache.poi:poi-ooxml:4.1.2'

β–ͺ code

package com.example.test.jsonparsing;

import java.io.FileInputStream;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
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 ExcelParser {

  public static void main(String[] args) throws IOException {

    FileInputStream file = new FileInputStream("xlsx 파일 μœ„μΉ˜\\xlsx 파일 이름"); // 파일 읽기
    XSSFWorkbook workbook = new XSSFWorkbook(file); // μ—‘μ…€ 파일 νŒŒμ‹±

    XSSFSheet sheet = workbook.getSheetAt(0); // μ—‘μ…€ 파일의 첫번째 (0) μ‹œνŠΈμ§€
    int rows = sheet.getPhysicalNumberOfRows(); // ν–‰μ˜ 수

    for (int r = 1; r < rows; r++) {
      XSSFRow row = sheet.getRow(r); // 0 ~ rows

      if (row != null) { // 행이 λΉ„μ–΄μžˆμ§€ μ•Šμ„ λ•Œ
        int cells=row.getPhysicalNumberOfCells(); // μ—΄μ˜ 수

        for (int c = 0; c < cells; c++) {
          XSSFCell cell = row.getCell(c); // 0 ~ cell
          String value = "";

          if (cell == null) { // rμ—΄ cν–‰μ˜ cell이 λΉ„μ–΄μžˆμ„ λ•Œ
            continue;
          } else { // νƒ€μž…λ³„λ‘œ λ‚΄μš© 읽기
            switch (cell.getCellType()) {
              case FORMULA:
                value = cell.getCellFormula();
                break;
              case NUMERIC:
                value = cell.getNumericCellValue() + "";
                break;
              case STRING:
                value = cell.getStringCellValue() + "";
                break;
              case BLANK:
                value = cell.getBooleanCellValue() + "";
                break;
              case ERROR:
                value = cell.getErrorCellValue() + "";
                break;
            }
            
          }

	  System.out.println(r + "번 ν–‰ : " + c + "번 μ—΄ 값은: " + value);

      }
      
    }

  }

}

0개의 λŒ“κΈ€