C#에서 전체 Excel 워크북을 이미지로 변환하는 방법

C#에서 전체 Excel 워크북을 이미지로 변환하는 방법

엑셀 파일을 이미지로 렌더링하는 것은 웹 페이지, 문서 또는 보고서에 스프레드시트를 삽입할 때 필수적입니다. 이 문서에서는 Aspose.Cells for .NET을 사용하여 전체 엑셀 워크북을 고품질 이미지 형식으로 변환하는 방법을 설명합니다.

워크북을 이미지로 변환하는 이유

  • 엑셀 파일의 미리보기 생성
  • 이미지 형식으로 스프레드시트 아카이브
  • 보고서 또는 인쇄 워크플로우에 스프레드시트 내용 삽입
  • 네이티브 엑셀 뷰어를 지원하지 않는 앱에서 스프레드시트 표시

단계별 구현

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

NuGet을 사용하여 프로젝트에 Aspose.Cells 추가:

dotnet add package Aspose.Cells

단계 2: 엑셀 파일 로드

Workbook workbook = new Workbook("Book1.xlsx");

단계 3: 이미지 옵션 구성

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

이 설정은 출력 형식과 해상도를 제어합니다. 다음을 추가로 구성할 수 있습니다:

  • Transparent 배경
  • OnlyArea 여백 제외
  • PrintingPageType 포함할 내용

단계 4: 워크북 렌더링

WorkbookRender renderer = new WorkbookRender(workbook, options);

단계 5: 각 페이지를 이미지로 변환

페이지를 반복하며 각 페이지를 내보냅니다:

for (int i = 0; i < renderer.PageCount; i++)
{
    string fileName = $"workbook_page_{i + 1}.png";
    renderer.ToImage(i, fileName);
}

이 코드는 현재 인쇄 레이아웃에 따라 논리적 페이지당 하나의 이미지를 생성합니다.

단계 6: 이미지 저장

위 코드는 정의된 이름을 사용하여 각 이미지 파일을 디스크에 저장합니다.

// 출력:
// workbook_page_1.png
// workbook_page_2.png
// ...

단계 7: 선택적 개선

이미지 렌더링을 더 세부 조정할 수 있습니다:

// 예: 그리드 라인 표시
options.ShowGridLines = true;

// 예: 전체 시트 내용을 한 페이지에 렌더링
options.AllColumnsInOnePagePerSheet = true;

모범 사례

  • 인쇄 품질 이미지를 위해 고해상도(200+ dpi)를 사용하십시오.
  • 넓은 시트를 위해 AllColumnsInOnePagePerSheet를 활성화하십시오.
  • 발표를 위해 출력을 PDF 또는 이미지 갤러리로 결합하십시오.

일반적인 문제 및 해결 방법

문제해결 방법
출력 이미지가 비어 있음워크북이 로드되고 표시 가능한 데이터가 포함되어 있는지 확인
이미지가 잘림OnePagePerSheet = true로 설정하거나 페이지 배율 조정
낮은 품질 출력HorizontalResolutionVerticalResolution 증가
 한국어