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 로 설정하거나 페이지 배율 조정 |
낮은 품질 출력 | HorizontalResolution 및 VerticalResolution 증가 |