스프레드시트 데이터의 시각적 미리보기를 생성하는 것은 보고 대시보드나 이메일 요약을 만들 때 자주 요구되는 작업입니다. Conholdate.Total for Java는 Java 애플리케이션에서 Excel을 이미지로 변환하는 과정을 단순화하는 강력한 SDK를 제공합니다. 이 가이드에서는 XLSX 워크북을 로드하고, PNG 출력 형식을 구성하며, 전체 워크시트, 차트 또는 특정 범위에 대한 이미지 파일을 생성하는 방법을 보여줍니다. 끝까지 진행하면 자체 프로젝트에 적용할 수 있는 실행 가능한 코드 샘플을 얻게 됩니다.

Excel 파일을 이미지로 변환하는 것이 애플리케이션에 요구하는 것

개발자는 종종 스프레드시트 내용을 웹 미리보기, PDF 보고서 또는 모바일 썸네일용 정적 이미지로 변환해야 합니다. 일반적으로 요구 사항에는 서식을 보존하고, 포함된 차트를 렌더링하며, 선택적으로 변환을 단일 범위로 제한하는 것이 포함됩니다. Excel을 열고 스크린샷을 찍어 저장하는 수동 작업은 확장성이 없으며 일관되지 않은 결과를 초래할 수 있습니다.

신뢰할 수 있는 솔루션을 위한 기술적 제약 조건은 다음과 같습니다: XLSX 파일 지원, 차트 및 수식 포함 기능, 구성 가능한 이미지 해상도, 그리고 여러 워크시트의 배치 처리. 변환은 Microsoft Office 없이 서버 또는 데스크톱 환경에서 실행되어야 합니다.

작업에 적합한 Conholdate.Total for Java 선택

Conholdate.Total for Java은(는) 필요한 모든 기능을 포괄하는 통합 API를 제공합니다. ExcelLoadOptions를 사용하면 차트와 수식을 로드할 수 있고, ImageConvertOptions는 형식, 품질 및 차원에 대한 세밀한 제어를 제공합니다. 이 SDK는 모든 Java 런타임에서 작동하며 Maven 종속성만 있으면 되고, 대용량 워크북을 효율적으로 처리합니다.

자세한 API 사용법은 공식 문서를 참조하십시오. Conversion, ExcelLoadOptions, ImageConvertOptions와 같은 클래스에 대한 전체 참조는 API 레퍼런스에서 확인할 수 있습니다. 최신 라이브러리는 릴리스 페이지에서 다운로드할 수 있습니다.

Java에서 Excel을 이미지로 변환 구현

변환 프로세스는 몇 가지 명확한 단계로 나눌 수 있습니다. 다음 섹션에서는 전체 예제에서 직접 가져온 짧은 코드 발췌와 함께 각 부분을 안내합니다.

Conholdate.Total for Java via Maven 설치

Conholdate Maven 리포지토리와 SDK 종속성을 pom.xml에 추가하세요:

<repositories>
  <repository>
    <id>conholdate-repo</id>
    <name>Conholdate Maven Repository</name>
    <url>https://repository.conholdate.com/repo/</url>
  </repository>
</repositories>

<dependency>
  <groupId>com.conholdate</groupId>
  <artifactId>conholdate-total</artifactId>
  <version>24.9</version>
  <type>pom</type>
</dependency>

차트 및 수식 지원이 포함된 Excel 파일 로드

ExcelLoadOptions 인스턴스를 생성하고 차트 및 수식 로드를 활성화한 다음 파일 스트림으로 Conversion 객체를 초기화합니다:

ExcelLoadOptions loadOptions = new ExcelLoadOptions();
loadOptions.setLoadCharts(true);
loadOptions.setLoadFormulas(true);

Conversion conversion = new Conversion(new FileInputStream("input.xlsx"), loadOptions);

PNG 이미지 출력 옵션 구성

원하는 이미지 형식, 품질 및 크기를 설정합니다. 너비는 고정되고 높이는 종횡비를 유지합니다:

ImageConvertOptions imgOptions = new ImageConvertOptions();
imgOptions.setFormat(ImageConvertOptions.ImageFormat.PNG);
imgOptions.setQuality(90);
imgOptions.setWidth(1200);
imgOptions.setHeight(0); // preserve aspect ratio

각 워크시트 또는 범위를 PNG 이미지로 변환

워크북 페이지(시트)를 반복하면서 각각을 변환합니다. pageNumber를 조정하거나 추가 로드 옵션을 사용하여 특정 범위를 지정할 수도 있습니다:

int pageCount = conversion.getPageCount();
for (int i = 1; i <= pageCount; i++) {
    imgOptions.setPageNumber(i);
    String outputPath = "output_images/sheet_" + i + ".png";
    conversion.convert(outputPath, imgOptions);
}

출력 확인 및 예외 처리

변환 로직을 try‑catch 블록으로 감싸고 시작하기 전에 출력 디렉터리가 존재하는지 확인하십시오:

try {
    Files.createDirectories(Paths.get("output_images"));
    // conversion code here
    System.out.println("Excel to image conversion completed successfully.");
} catch (Exception ex) {
    System.err.println("Conversion failed: " + ex.getMessage());
    ex.printStackTrace();
}

위 단계에서는 차트, 범위 및 전체 워크시트를 처리할 수 있는 유연성을 제공하면서 Conholdate.Total SDK를 사용하여 Excel을 이미지로 변환하는 방법을 보여줍니다.

전체 코드 예제: 전체 시트 지원으로 Excel을 이미지로 변환

다음 코드는 위 단계에서 설명한 완전하고 바로 실행할 수 있는 구현을 보여줍니다.

import java.io.FileInputStream;
import java.nio.file.Files;
import java.nio.file.Paths;

import com.groupdocs.conversion.Conversion;
import com.groupdocs.conversion.options.load.ExcelLoadOptions;
import com.groupdocs.conversion.options.convert.ImageConvertOptions;
import com.groupdocs.conversion.options.convert.ImageConvertOptions.ImageFormat;

public class ExcelToImageConverter {
    public static void main(String[] args) {
        String inputFile = "input.xlsx";
        String outputFolder = "output_images";

try {
            // Create output directory if it does not exist
            Files.createDirectories(Paths.get(outputFolder));

// Load options: include charts and formulas during conversion
            ExcelLoadOptions loadOptions = new ExcelLoadOptions();
            loadOptions.setLoadCharts(true);
            loadOptions.setLoadFormulas(true);

// Initialize conversion with the Excel file and load options
            try (Conversion conversion = new Conversion(new FileInputStream(inputFile), loadOptions)) {

// Determine how many pages (sheets) the workbook has
                int pageCount = conversion.getPageCount();

// Configure image output options
                ImageConvertOptions imgOptions = new ImageConvertOptions();
                imgOptions.setFormat(ImageFormat.PNG);   // Output format
                imgOptions.setQuality(90);               // Quality (relevant for JPEG)
                imgOptions.setWidth(1200);               // Desired width, height will keep aspect ratio
                imgOptions.setHeight(0);                 // 0 means preserve original aspect ratio

// Convert each sheet to a separate image file
                for (int i = 1; i <= pageCount; i++) {
                    imgOptions.setPageNumber(i);
                    String outputPath = outputFolder + "/sheet_" + i + ".png";
                    conversion.convert(outputPath, imgOptions);
                }
            }

System.out.println("Excel to image conversion completed successfully.");
        } catch (Exception ex) {
            System.err.println("Conversion failed: " + ex.getMessage());
            ex.printStackTrace();
        }
    }
}

참고: 이 코드 예제는 핵심 기능을 보여줍니다. 프로젝트에서 사용하기 전에 파일 경로(input.xlsx, output_images)를 실제 파일 위치에 맞게 업데이트하고, 모든 필수 종속성이 올바르게 설치되었는지 확인하며, 개발 환경에서 충분히 테스트하십시오. 문제가 발생하면 공식 문서를 참조하거나 지원 팀에 문의하십시오.

결론

Java에서 Excel을 이미지로 변환하는 작업은 Conholdate.Total for Java을 활용하면 간단해집니다. SDK는 차트 렌더링, 수식 평가 및 고품질 PNG 출력을 최소한의 코드로 처리합니다. 단계별 가이드를 따라 이 기능을 보고서 도구, 이메일 생성기 또는 시각적 스프레드시트 표현이 필요한 모든 애플리케이션에 통합할 수 있습니다. 실제 배포에는 상용 라이선스가 필요하다는 점을 기억하세요; 가격 옵션은 Conholdate.Total 가격 페이지에서 확인할 수 있으며, 평가 중에는 임시 라이선스 페이지에서 임시 라이선스를 얻을 수 있습니다.

FAQs

  • Java에서 Excel을 이미지로 변환하려면 어떻게 해야 하나요?
    Conversion 클래스를 Conholdate.Total for Java에서 사용하고, ExcelLoadOptionsImageConvertOptions를 구성한 다음, 각 워크시트에 대해 convert를 호출합니다.

  • Excel 차트를 이미지로 변환할 수 있나요?
    예. loadOptions.setLoadCharts(true) 로 차트 로드를 활성화하고 imgOptions.setPageNumber 를 설정할 때 차트의 페이지 번호를 지정하십시오.

  • 특정 셀 범위만 변환할 수 있나요?
    변환하기 전에 로드 옵션에서 범위를 정의하거나 원하는 범위에 해당하는 적절한 페이지 번호를 선택할 수 있습니다.

  • 프로덕션 사용에 필요한 라이선스는 무엇인가요?
    상업용 라이선스가 필요합니다. 비용은 Conholdate.Total pricing 페이지에서 확인하고, temporary license page에서 임시 라이선스를 얻으세요.

더 읽기