워크시트에서 이미지를 추가, 추출 및 제거하는 방법 | IronXL

C#을 사용하여 Excel에서 이미지 추가, 추출 및 제거하는 방법

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronXL은 C# 개발자가 Excel 워크시트에 이미지를 프로그래밍 방식으로 삽입하고, 기존 이미지를 속성과 함께 추출하고, Excel Interop 종속성 없이 간단한 API 메서드를 사용하여 원치 않는 이미지를 제거할 수 있도록 합니다. .NET에서 Excel 파일을 생성할 때 회사 로고, 제품 이미지, 데이터 시각화 그래픽과 같은 시각적 요소가 필요한 경우 이 기능이 필수적입니다.

이미지를 추가하면 관련 그래픽이나 삽화로 데이터를 풍부하게 만듭니다. 이미지를 제거하면 콘텐츠 편집 및 구성이 간소화됩니다. 이미지를 추출하면 다른 문서나 응용 프로그램에서 활용하거나 기존 이미지를 업데이트할 수 있습니다. 이러한 기능은 Excel 워크북 내에서 이미지 조작에 대한 완전한 제어를 제공합니다.

빠른 시작: 한 번에 이미지 삽입, 추출 및 제거

IronXL의 직관적인 API를 사용하여 몇 줄만으로 워크시트에서 이미지를 추가, 가져오기 및 삭제하세요. 이 예시는 이미지를 삽입하고, Images 컬렉션으로 접근하며, Interop을 사용하지 않고도 제거하는 방법을 보여줍니다.

  1. NuGet 패키지 관리자를 사용하여 https://www.nuget.org/packages/IronXl.Excel 설치하기

    PM > Install-Package IronXl.Excel
  2. 다음 코드 조각을 복사하여 실행하세요.

    workSheet.InsertImage("logo.png", 1, 1, 3, 3);
    workSheet.RemoveImage(1);
    var firstImage = workSheet.Images[0];
  3. 실제 운영 환경에서 테스트할 수 있도록 배포하세요.

    무료 체험판으로 오늘 프로젝트에서 IronXL 사용 시작하기

    arrow pointer


어떻게 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를 받습니다.

참고해 주세요생성된 이미지 ID는 1, 3, 5, 7 등의 패턴을 따릅니다.
이 홀수 시퀀스는 나중에 특정 이미지를 참조하여 추출하거나 제거하는 작업을 할 때 중요합니다.

: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");
$vbLabelText   $csharpLabel

InsertImage 메소드는 워크시트 내에서 이미지의 위치와 크기를 유연하게 조정할 수 있는 기능을 제공합니다. Excel에서 수동으로 이미지를 삽입하는 것과 달리, 프로그램적으로 삽입하면 여러 파일에 걸쳐 일관된 배치를 보장하여 표준화된 형식이 필요한 보고서나 문서 생성을 이상적으로 만듭니다. Interop 없이 C#에서 Excel을 다룰 때 특히 유용합니다. 이 방식은 Microsoft Office 설치에 대한 의존성을 제거합니다.

삽입된 이미지는 Excel에서 어떻게 보이나요?

셀 C4와 C7에 삽입된 두 개의 화려한 로고가 있는 스프레드시트로 성공적인 이미지 삽입을 보여줍니다

어떻게 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");
$vbLabelText   $csharpLabel
File explorer showing extracted PNG images and files in Documents/Replicate/bin/Debug/net6.0 directory
Spreadsheet showing three extracted images positioned in cells C2-E2, C5-E6, and C8-E10 with coordinate grid

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");
$vbLabelText   $csharpLabel

여러 워크시트와 이미지를 포함한 더 복잡한 시나리오에 대해 이미지 작업이 워크시트 레벨 작업과 어떻게 상호 작용하는지 이해하기 위해 워크시트 관리를 탐색하세요. 또한 보호된 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 파일에서 이미지를 프로그래밍 방식으로 추가, 추출 및 제거할 수 있습니다.

커티스 차우
기술 문서 작성자

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.

커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다.

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/ready_to_started_202509.php
Line: 12
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 489
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/ready_to_started_202509.php
Line: 19
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 489
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

시작할 준비 되셨나요?
Nuget 다운로드 1,890,100 | 버전: 2026.3 방금 출시되었습니다

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/still_scrolling_202512.php
Line: 17
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 71
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/still_scrolling_202512.php
Line: 24
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 71
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

Still Scrolling Icon

아직도 스크롤하고 계신가요?

빠른 증거를 원하시나요? PM > Install-Package IronXl.Excel
샘플을 실행하세요 데이터가 스프레드시트로 변환되는 것을 지켜보세요.