C#에서 워크시트를 이미지로 변환하는 방법

C#에서 워크시트를 이미지로 변환하는 방법

내보내기 단일 Excel 워크시트를 이미지 형식(예: PNG, JPEG)으로 변환하는 것은 미리보기 생성, 차트 내보내기 또는 스프레드시트 내용의 읽기 전용 시각적 표현 공유 시 유용합니다. 이 가이드는 Aspose.Cells for .NET을 사용하여 Excel 통합 문서에서 하나의 워크시트를 이미지로 변환하는 방법을 보여줍니다.

사용 사례

  • 특정 워크시트의 미리보기 생성
  • 이메일 또는 문서를 위한 형식화된 보고서 내보내기
  • 웹 페이지나 PDF에 단일 시트 포함

단계별 가이드

단계 1: Aspose.Cells for .NET 설치

dotnet add package Aspose.Cells

단계 2: Excel 파일 로드

Workbook workbook = new Workbook("SalesData.xlsx");
Worksheet sheet = workbook.Worksheets["Q1 Report"]; // 특정 워크시트 접근

단계 3: 이미지 렌더링 옵션 정의

ImageOrPrintOptions options = new ImageOrPrintOptions
{
    ImageType = ImageType.Png,
    OnePagePerSheet = true,
    HorizontalResolution = 200,
    VerticalResolution = 200,
    PrintingPageType = PrintingPageType.Default
};

단계 4: SheetRender 객체 생성

SheetRender renderer = new SheetRender(sheet, options);

단계 5: 각 페이지를 이미지로 렌더링

for (int pageIndex = 0; pageIndex < renderer.PageCount; pageIndex++)
{
    string imageName = $"worksheet_q1_page_{pageIndex + 1}.png";
    renderer.ToImage(pageIndex, imageName);
}

단계 6: 이미지 저장

이 코드는 워크시트의 인쇄 가능한 페이지당 하나의 이미지를 자동으로 저장합니다.

단계 7: 선택적 향상

추가 레이아웃 설정을 적용할 수 있습니다:

// 출력 이미지에 그리드라인 표시
options.ShowGridLines = true;

// 모든 내용을 단일 페이지에 맞춤
options.AllColumnsInOnePagePerSheet = true;

전체 예제 코드

using System;
using Aspose.Cells;

class Program
{
    static void Main()
    {
        // Excel 통합 문서 로드
        Workbook workbook = new Workbook("SalesData.xlsx");

        // 특정 워크시트 접근
        Worksheet sheet = workbook.Worksheets["Q1 Report"];

        // 이미지 렌더링 옵션 정의
        ImageOrPrintOptions options = new ImageOrPrintOptions
        {
            ImageType = ImageType.Png,
            OnePagePerSheet = true,
            HorizontalResolution = 200,
            VerticalResolution = 200,
            PrintingPageType = PrintingPageType.Default
        };

        // 필요시 그리드라인 활성화
        options.ShowGridLines = true;

        // 시트를 이미지로 렌더링
        SheetRender renderer = new SheetRender(sheet, options);

        for (int pageIndex = 0; pageIndex < renderer.PageCount; pageIndex++)
        {
            string imageName = $"worksheet_q1_page_{pageIndex + 1}.png";
            renderer.ToImage(pageIndex, imageName);
            Console.WriteLine($"저장됨: {imageName}");
        }

        Console.WriteLine("워크시트가 성공적으로 이미지로 렌더링되었습니다.");
    }
}

일반적인 시나리오 및 문제 해결

문제해결책
잘린 내용AllColumnsInOnePagePerSheet = true 사용
출력 품질이 낮음이미지 해상도 증가
그리드라인 누락ShowGridLines = true 설정
 한국어