C#으로 xlsx 파일에서 이미지 추가, 추출 및 제거하는 방법
IronXL은 C# 개발자가 xlsx 파일의 Excel 워크시트에 이미지를 프로그래밍 방식으로 삽입하고, 기존 이미지를 속성과 함께 추출하고, Excel Interop 종속성 없이 간단한 API 메서드를 사용하여 원치 않는 이미지를 제거할 수 있도록 합니다. 엑셀 편집 과정에서 이미지 관리를 자동화할 수 있습니다. .NET에서 Excel 파일을 생성할 때 회사 로고, 제품 이미지, 데이터 시각화 그래픽과 같은 시각적 요소가 필요한 경우 이 기능이 필수적입니다.
이미지를 추가하면 관련 그래픽이나 삽화로 데이터를 풍부하게 만듭니다. 이미지를 제거하면 콘텐츠 편집 및 구성이 간소화됩니다. 이미지를 추출하면 다른 문서나 응용 프로그램에서 활용하거나 기존 이미지를 업데이트할 수 있습니다. 이러한 기능은 Excel 워크북 내에서 이미지 조작에 대한 완전한 제어를 제공합니다.
빠른 시작: 한 번에 이미지 삽입, 추출 및 제거
IronXL의 직관적인 API를 사용하여 몇 줄만으로 워크시트에서 이미지를 추가, 가져오기 및 삭제하세요. 이 예시는 이미지를 삽입하고, Images 컬렉션으로 접근하며, Interop을 사용하지 않고도 제거하는 방법을 보여줍니다.
- 스프레드시트에서 이미지를 삽입, 추출 및 제거하는 C# 라이브러리 다운로드
- 기존 엑셀 파일을 가져오거나 새 파일을 만드세요.
- `InsertImage` 메소드를 사용하여 워크시트에 이미지를 삽입합니다
- **Images** 속성에 접근하여 이미지와 그 정보를 추출합니다
- 이미지를 제거하려면 `RemoveImage` 메소드에 ID를 제공합니다
어떻게 Excel 워크시트에 이미지를 추가하나요?
To insert an image into a spreadsheet, use the InsertImage method, which supports various image types including JPG/JPEG, BMP, PNG, GIF, and TIFF. 이 기능은 C#에서 Excel 차트를 만들 때 그리고 추가 시각적 요소로 보충할 때 특히 유용합니다. 이미지의 크기를 결정하기 위해 상단 왼쪽과 하단 오른쪽 모서리를 지정합니다. 이는 컬럼과 행 값을 빼서 계산됩니다.
이 메소드 시그니처에는 다섯 개의 매개변수가 필요합니다: 이미지 파일 경로와 시작 컬럼, 시작 행, 종료 컬럼, 종료 행을 나타내는 네 개의 정수입니다. 이미지는 정의된 셀 범위 내에 맞게 늘어나거나 압축됩니다. 예를 들어:
- 1x1 이미지 크기:
worksheet.InsertImage("image.gif", 5, 1, 6, 2);
- 2x2 이미지 크기:
worksheet.InsertImage("image.gif", 5, 1, 7, 3);
Excel에서 이미지를 다룰 때 IronXL이 내부적으로 그것들을 어떻게 관리하는지 이해합니다. 각 삽입된 이미지는 특정 패턴을 따르는 고유의 ID를 받습니다.
:path=/static-assets/excel/content-code-examples/how-to/add-remove-extract-worksheet-images-insert.cs
using IronXL;
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Insert images
workSheet.InsertImage("ironpdf.jpg", 2, 2, 4, 4);
workSheet.InsertImage("ironpdfIcon.png", 2, 6, 4, 8);
workBook.SaveAs("insertImages.xlsx");
Imports IronXL
Private workBook As WorkBook = WorkBook.Create()
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
' Insert images
workSheet.InsertImage("ironpdf.jpg", 2, 2, 4, 4)
workSheet.InsertImage("ironpdfIcon.png", 2, 6, 4, 8)
workBook.SaveAs("insertImages.xlsx")
InsertImage 메소드는 워크시트 내에서 이미지의 위치와 크기를 유연하게 조정할 수 있는 기능을 제공합니다. Excel에서 수동으로 이미지를 삽입하는 것과 달리, 프로그램적으로 삽입하면 여러 파일에 걸쳐 일관된 배치를 보장하여 표준화된 형식이 필요한 보고서나 문서 생성을 이상적으로 만듭니다. Interop 없이 C#에서 Excel을 다룰 때 특히 유용합니다. 이 방식은 Microsoft Office 설치에 대한 의존성을 제거합니다.
삽입된 이미지는 Excel에서 어떻게 보이나요?
어떻게 Excel 파일에서 이미지를 추출할 수 있나요?
To extract images from the selected worksheet, access the Images property, which provides a list of all images contained within the sheet. Interop 없이 Excel 파일을 로드하고 내장된 시각적 콘텐츠를 처리해야 할 때 이 기능은 필수적입니다. 이 목록에서 내보내기, 크기 조정, 위치 가져오기, 각 이미지의 바이트 데이터를 얻는 등 다양한 작업을 수행할 수 있습니다. 이미지 ID는 1, 3, 5, 7과 같은 순서로 증가하는 홀수 패턴을 따릅니다.
추출 프로세스는 이미지 속성 및 데이터에 대한 포괄적인 접근을 제공하여 개발자가 다음을 수행할 수 있게 합니다:
- 다양한 형식(PNG, JPEG, BMP 등)으로 이미지 내보내기
- 레이아웃 보존을 위한 이미지 위치 정보 가져오기
- 사용자 정의 처리나 저장을 위한 원시 바이트 데이터 접근
- 외부 이미지 처리 라이브러리 없이 프로그램적으로 이미지 크기 조정
이 기능은 다른 문서 형식 간에 콘텐츠를 이동하거나 Excel 파일에서 시각 자산을 카탈로그하고 관리해야 하는 시스템을 구축할 때 매우 귀중합니다. 프로그램적으로 이미지를 추출할 수 있는 기능은 이미지가 특정 업무 규칙에 따라 검증 또는 처리되어야 하는 자동화된 품질 관리 프로세스를 지원합니다.
:path=/static-assets/excel/content-code-examples/how-to/add-remove-extract-worksheet-images-extract.cs
using IronSoftware.Drawing;
using IronXL;
using IronXL.Drawing;
using System;
using System.Collections.Generic;
WorkBook workBook = WorkBook.Load("insertImages.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Retreive images
List<IronXL.Drawing.Images.IImage> images = workSheet.Images;
// Select each image
foreach (IronXL.Drawing.Images.IImage image in images)
{
// Save the image
AnyBitmap anyBitmap = image.ToAnyBitmap();
anyBitmap.SaveAs($"{image.Id}.png");
// Resize the image
image.Resize(1,3);
// Retrieve image position
Position position = image.Position;
Console.WriteLine("top row index: " + position.TopRowIndex);
Console.WriteLine("bottom row index: " + position.BottomRowIndex);
// Retrieve byte data
byte[] imageByte = image.Data;
}
workBook.SaveAs("resizeImage.xlsx");
Imports IronSoftware.Drawing
Imports IronXL
Imports IronXL.Drawing
Imports System
Imports System.Collections.Generic
Private workBook As WorkBook = WorkBook.Load("insertImages.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
' Retreive images
Private images As List(Of IronXL.Drawing.Images.IImage) = workSheet.Images
' Select each image
For Each image As IronXL.Drawing.Images.IImage In images
' Save the image
Dim anyBitmap As AnyBitmap = image.ToAnyBitmap()
anyBitmap.SaveAs($"{image.Id}.png")
' Resize the image
image.Resize(1,3)
' Retrieve image position
Dim position As Position = image.Position
Console.WriteLine("top row index: " & position.TopRowIndex)
Console.WriteLine("bottom row index: " & position.BottomRowIndex)
' Retrieve byte data
Dim imageByte() As Byte = image.Data
Next image
workBook.SaveAs("resizeImage.xlsx")
추출된 이미지
이미지 크기
Excel 워크시트에서 이미지를 어떻게 제거하나요?
Following the extract images example, you can easily remove any inserted image using its corresponding index number. 이미지를 워크시트에서 제거하려면 이미지의 ID 번호를 RemoveImage 메소드에 전달하세요. C#에서 Excel 파일을 편집할 때 불필요한 시각적 요소를 정리하거나 다양한 청중을 위한 문서를 준비하는 데 특히 유용합니다.
제거 프로세스는 간단하지만 이미지 ID 시스템을 이해해야 합니다. IronXL은 1, 3, 5, 7...과 같은 홀수 시퀀스로 ID를 할당하므로 여러 이미지를 관리할 때 이 ID를 추적합니다. 당신의 애플리케이션에 의미 있는 이름과 이미지 ID를 연관시키는 매핑 시스템을 구현하는 것을 고려하세요. 더 쉬운 관리를 위해서 입니다.
:path=/static-assets/excel/content-code-examples/how-to/add-remove-extract-worksheet-images-remove.cs
using IronXL;
WorkBook workBook = WorkBook.Load("insertImages.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Remove image
workSheet.RemoveImage(3);
workBook.SaveAs("removeImage.xlsx");
Imports IronXL
Private workBook As WorkBook = WorkBook.Load("insertImages.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
' Remove image
workSheet.RemoveImage(3)
workBook.SaveAs("removeImage.xlsx")
여러 워크시트와 이미지를 포함한 더 복잡한 시나리오에 대해 이미지 작업이 워크시트 레벨 작업과 어떻게 상호 작용하는지 이해하기 위해 워크시트 관리를 탐색하세요. 또한 보호된 Excel 파일을 다룰 때, 비밀번호로 보호된 워크북에서 이미지 작업이 어떻게 작동하는지 이해하기 위해 Excel 파일 보호에 대한 우리의 가이드를 참조하세요.
자주 묻는 질문
C#에서 엑셀 스프레드시트에 이미지를 프로그래밍 방식으로 추가하는 방법은 무엇인가요?
IronXL은 Excel 워크시트에 이미지를 추가하는 InsertImage 메서드를 제공합니다. 이미지 파일 경로와 이미지를 표시할 셀 범위 좌표(좌측 상단 및 우측 하단 모서리)만 지정하면 됩니다. IronXL은 JPG/JPEG, BMP, PNG, GIF, TIFF 등 다양한 이미지 형식을 지원합니다.
엑셀에 이미지를 삽입할 때 지원되는 이미지 형식은 무엇입니까?
IronXL은 JPG/JPEG, BMP, PNG, GIF, TIFF를 포함한 다양한 이미지 형식을 Excel 워크시트에 삽입할 수 있도록 지원합니다. 이러한 유연성을 통해 비즈니스 문서 및 데이터 시각화에 일반적으로 사용되는 다양한 이미지 유형을 활용할 수 있습니다.
엑셀 워크시트에서 기존 이미지를 추출하는 방법은 무엇인가요?
IronXL의 Images 컬렉션 속성을 사용하여 Excel 워크시트에서 이미지를 추출할 수 있습니다. worksheet.Images[인덱스]를 통해 특정 이미지와 해당 속성 및 메타데이터를 가져와 다른 문서나 응용 프로그램에서 재사용할 수 있습니다.
엑셀 파일에서 이미지를 프로그램으로 제거할 수 있나요?
예, IronXL은 워크시트에서 이미지를 삭제하는 RemoveImage 메서드를 제공합니다. 이미지 ID만 제공하면 특정 이미지를 제거할 수 있으므로 Excel Interop 없이도 이미지 관리를 완벽하게 제어할 수 있습니다.
삽입된 이미지의 크기와 위치를 어떻게 지정하나요?
IronXL의 InsertImage 메서드를 사용할 때는 시작 열, 시작 행, 끝 열, 끝 행의 네 좌표를 지정합니다. 이미지는 지정된 셀 범위에 맞게 자동으로 늘어나거나 줄어듭니다. 예를 들어, InsertImage("image.gif", 5, 1, 6, 2)는 1x1 크기의 이미지를 생성합니다.
스프레드시트에서 이미지를 편집하려면 Microsoft Excel이 설치되어 있어야 하나요?
아니요, IronXL은 Microsoft Excel이나 Excel Interop에 대한 종속성 없이 독립적으로 작동합니다. .NET 애플리케이션에서 IronXL 라이브러리만 사용하여 Excel 파일에서 이미지를 프로그래밍 방식으로 추가, 추출 및 제거할 수 있습니다.

