본문 바로가기
카테고리 없음

POI API 사용 엑셀 백분율 값 표시

by 4파이터 2025. 1. 11.
반응형

Apache POI는 Java에서 Microsoft Office 파일을 읽고 쓸 수 있는 라이브러리로, Excel 파일을 다룰 때 유용합니다. Excel에서 백분율 값을 표시하려면 셀의 값을 100으로 나누고, 해당 셀에 백분율 서식을 적용해야 합니다. 아래는 POI를 사용하여 Excel에 백분율 값을 표시하는 방법을 단계별로 설명합니다.

 

1. POI 라이브러리 설정

먼저, POI 라이브러리를 프로젝트에 추가해야 합니다. Maven을 사용하는 경우, pom.xml 파일에 다음 의존성을 추가합니다.

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>5.2.3</version>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>5.2.3</version>
</dependency>

 

[Java] Excel 퍼센트(%) 데이터 처리 방법

 

[Java] Excel 퍼센트(%) 데이터 처리 방법

java에서 excel 파일을 읽을 때 퍼센트(%)로 표시된 데이터를 처리하는 방법을 기록했다. 회사에서 프로젝트를 진행하면서 excel 파일을 java로 읽어서 DB에 저장을 해야하는 경우가 있었다.그런데 exce

velog.io

 

2. Excel 워크북 생성 및 시트 추가

다음으로, Excel 워크북을 생성하고 시트를 추가합니다.

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class ExcelPercentageExample {
    public static void main(String[] args) {
        Workbook workbook = new XSSFWorkbook();
        Sheet sheet = workbook.createSheet("Sheet1");
        // 이후 코드 계속...
    }
}

 

3. 데이터 입력 및 백분율 서식 적용

데이터를 입력하고, 해당 셀에 백분율 서식을 적용합니다.

import org.apache.poi.ss.usermodel.*;

public class ExcelPercentageExample {
    public static void main(String[] args) {
        Workbook workbook = new XSSFWorkbook();
        Sheet sheet = workbook.createSheet("Sheet1");

        // 셀 스타일 생성
        CellStyle percentageStyle = workbook.createCellStyle();
        DataFormat dataFormat = workbook.createDataFormat();
        percentageStyle.setDataFormat(dataFormat.getFormat("0.00%"));

        // 데이터 입력
        Row row = sheet.createRow(0);
        Cell cell = row.createCell(0);
        double value = 0.25; // 25%
        cell.setCellValue(value);
        cell.setCellStyle(percentageStyle);

        // 이후 코드 계속...
    }
}

 

4. Excel 파일 저장

마지막으로, 생성한 Excel 파일을 저장합니다.

import java.io.FileOutputStream;
import java.io.IOException;

public class ExcelPercentageExample {
    public static void main(String[] args) {
        Workbook workbook = new XSSFWorkbook();
        Sheet sheet = workbook.createSheet("Sheet1");

        // 셀 스타일 생성
        CellStyle percentageStyle = workbook.createCellStyle();
        DataFormat dataFormat = workbook.createDataFormat();
        percentageStyle.setDataFormat(dataFormat.getFormat("0.00%"));

        // 데이터 입력
        Row row = sheet.createRow(0);
        Cell cell = row.createCell(0);
        double value = 0.25; // 25%
        cell.setCellValue(value);
        cell.setCellStyle(percentageStyle);

        // 파일 저장
        try (FileOutputStream fileOut = new FileOutputStream("workbook.xlsx")) {
            workbook.write(fileOut);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

 

참고 사항

  • Excel에서 백분율은 실제 값의 100배로 표시되므로, POI에서 값을 입력할 때는 실제 값(예: 0.25)을 입력하고, 서식을 통해 백분율로 표시합니다.
  • DataFormat을 사용하여 백분율 서식을 지정할 수 있습니다.
  • POI 버전에 따라 API가 다를 수 있으므로, 사용 중인 POI 버전에 맞는 문서를 참고하시기 바랍니다.

위의 방법을 통해 POI API를 사용하여 Excel에 백분율 값을 표시할 수 있습니다.

반응형