본문 바로가기
Error/Java

[Error]  Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/xmlbeans/XmlObject

by 챠챠12 2024. 5. 24.

[상황]: Apache POI 라이브러리 를 사용을 하려고 했으나, 

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/xmlbeans/XmlObject 오류 발생을 했습니다.

 

[해결 방법 ]

아래 처럼 java build path 에 넣으니 실행이 무사히 되었습니다.

 

 

[예제 실행 코드]

: 엑셀 파일 저장위치에 확인해보니 문제없이 엑셀 파일 생성이 완료되었습니다.

(chatGPT 를 통해서 전달받은 코드를 약간 수정해서 사용했습니다.)

package test;

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

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

public class TextToExcelExample {
    public static void main(String[] args) {
        // 텍스트 결과 값 예시
        String[] textData = {
            "Hello, world!", 
            "Apache POI를 사용한 엑셀 파일 생성 예제", 
            "Java programming", 
            "OpenAI GPT-4"
        };

        // 새로운 워크북 생성
        Workbook  workbook = new XSSFWorkbook();
       
        // 새로운 시트 생성
        Sheet sheet = workbook.createSheet("TextData");

        // 텍스트 데이터 쓰기
        for (int i = 0; i < textData.length; i++) {
            Row row = sheet.createRow(i);
            Cell cell = row.createCell(0);
            cell.setCellValue(textData[i]); // jre 1.7사용시 불가능 1.8로 변경하니깐 사용가능해짐.
        }

        // 엑셀 파일로 저장
        try (FileOutputStream fileOut = new FileOutputStream("output.xlsx")) {
            workbook.write(fileOut);
            System.out.println("엑셀 파일이 생성되었습니다.");
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                workbook.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}
728x90
반응형
LIST

댓글