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

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

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

사용 사례

  • 특정 워크시트의 사전 보기 생성
  • 이메일 또는 문서에 대한 수출 형식 보고서
  • 웹 페이지 또는 PDF에 단일 잎을 삽입

단계별 가이드

단계 1: .NET을 위한 Aspose.Cells 설치

dotnet add package Aspose.Cells

단계 2: Excel 파일을 업로드

Workbook workbook = new Workbook("SalesData.xlsx");
Worksheet sheet = workbook.Worksheets["Q1 Report"]; // Access specific worksheet

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

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

단계 4 : SheetRender Object 만들기

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 : 선택적 개선

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

// Show gridlines in the output image
options.ShowGridLines = true;

// Fit all content on a single page
options.AllColumnsInOnePagePerSheet = true;

완전한 샘플 코드

using System;
using Aspose.Cells;

class Program
{
    static void Main()
    {
        // Load the Excel workbook
        Workbook workbook = new Workbook("SalesData.xlsx");

        // Access a specific worksheet
        Worksheet sheet = workbook.Worksheets["Q1 Report"];

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

        // Enable gridlines if desired
        options.ShowGridLines = true;

        // Render the sheet to image(s)
        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($"Saved: {imageName}");
        }

        Console.WriteLine("Worksheet successfully rendered to image(s).");
    }
}

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

문제해결책
Cut-off 콘텐츠사용하기 AllColumnsInOnePagePerSheet = true
생산량은 낮은 품질이미지 해상도를 높이기
잃어버린 링크세트 ShowGridLines = true
 한국어