[java] Apache POI를 사용하여 Excel 파일을 HTML로 변환하는 방법

Apache POI(Poor Obfuscation Implementation)는 자바에서 Microsoft Office 파일 형식을 읽고 쓰기 위해 사용되는 라이브러리입니다. 이 라이브러리를 사용하면 Excel 파일을 HTML로 변환할 수 있습니다. 이 글에서는 Apache POI를 사용하여 Excel 파일을 HTML로 변환하는 방법에 대해 알아보겠습니다.

1. Apache POI 의존성 추가하기

먼저, Apache POI를 사용하기 위해 프로젝트에 의존성을 추가해야 합니다. Maven을 사용한다면, pom.xml 파일에 다음 의존성을 추가해주시면 됩니다.

<dependency>
  <groupId>org.apache.poi</groupId>
  <artifactId>poi</artifactId>
  <version>4.1.2</version>
</dependency>

Gradle을 사용한다면, build.gradle 파일에 다음 의존성을 추가해주시면 됩니다.

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

2. Excel 파일 읽기

Apache POI를 사용하여 Excel 파일을 읽기 위해 Workbook 클래스와 Sheet 클래스를 사용합니다. 예를 들어, test.xlsx라는 Excel 파일을 읽는다고 가정해보겠습니다.

// 엑셀 파일 읽기
File file = new File("test.xlsx");
Workbook workbook = WorkbookFactory.create(file);

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

3. HTML로 변환하기

Apache POI를 사용하여 Excel 파일을 HTML로 변환하기 위해 HtmlUtils 클래스를 사용합니다. HtmlUtils 클래스를 사용하면 Workbook 객체를 HTML 문자열로 변환할 수 있습니다.

// HTML로 변환
String html = HtmlUtils.htmlEscape(workbook);

4. HTML 파일로 저장하기

HTML로 변환된 문자열을 파일로 저장하기 위해 FileWriter 클래스를 사용합니다.

// HTML 파일로 저장
String htmlFilePath = "output.html";
try (FileWriter fileWriter = new FileWriter(htmlFilePath)) {
    fileWriter.write(html);
}

5. 완성된 예제 코드

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.util.*;
import org.apache.poi.xssf.usermodel.*;
import org.springframework.web.util.HtmlUtils;
import java.io.*;

public class ExcelToHtmlConverter {

    public static void main(String[] args) {
        try {
            // 엑셀 파일 읽기
            File file = new File("test.xlsx");
            Workbook workbook = WorkbookFactory.create(file);

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

            // HTML로 변환
            String html = HtmlUtils.htmlEscape(workbook);

            // HTML 파일로 저장
            String htmlFilePath = "output.html";
            try (FileWriter fileWriter = new FileWriter(htmlFilePath)) {
                fileWriter.write(html);
            }
        } catch (IOException e){
            e.printStackTrace();
        }
    }
}

결론

Apache POI를 사용하면 Java에서 Excel 파일을 HTML로 변환할 수 있습니다. 이를 활용하여 Excel 파일을 웹에서 표시하기 위한 HTML 형식으로 변환하거나, 데이터를 파싱하여 원하는 형식으로 가공할 수 있습니다.

참고 자료