Como adicionar, extrair e remover imagens de planilhas | IronXL

Como Adicionar, Extrair e Remover Imagens no Excel Usando C#

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

O IronXL permite que desenvolvedores C# insiram imagens programaticamente em planilhas do Excel, extraiam imagens existentes com suas propriedades e removam imagens indesejadas usando métodos simples da API, sem dependências do Interop do Excel. Esta funcionalidade é essencial ao criar arquivos Excel em .NET que requerem elementos visuais como logos de empresas, imagens de produtos ou gráficos de visualização de dados.

Adicionar imagens enriquece os dados com gráficos ou ilustrações relevantes. Remover imagens simplifica a edição e organização do conteúdo. Extrair imagens permite repropô-las em outros documentos ou aplicações e atualizar imagens existentes. Esses recursos fornecem controle completo sobre a manipulação de imagens dentro dos livros do Excel.

Início Rápido: Inserir, Extrair e Remover Imagens de Uma Vez

Use a API intuitiva do IronXL para adicionar, obter e excluir imagens de planilhas em apenas algumas linhas. Este exemplo mostra como inserir uma imagem, acessá-la através da coleção Imagens, e removê-la—tudo isso sem tocar no Interop.

  1. Instale IronXL com o Gerenciador de Pacotes NuGet

    PM > Install-Package IronXl.Excel
  2. Copie e execute este trecho de código.

    workSheet.InsertImage("logo.png", 1, 1, 3, 3);
    workSheet.RemoveImage(1);
    var firstImage = workSheet.Images[0];
  3. Implante para testar em seu ambiente de produção.

    Comece a usar IronXL em seu projeto hoje com uma avaliação gratuita

    arrow pointer


Como Posso Adicionar Imagens em Planilhas do 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. Esta capacidade é particularmente útil quando você precisa criar gráficos do Excel em C# e suplementá-los com elementos visuais adicionais. Especifique os cantos superior esquerdo e inferior direito da imagem para determinar suas dimensões, calculadas subtraindo os valores das colunas e linhas.

A assinatura do método requer cinco parâmetros: o caminho do arquivo da imagem e quatro inteiros representando a coluna inicial, linha inicial, coluna final e linha final. A imagem será esticada ou comprimida para se ajustar ao intervalo de células definido. Por exemplo:

  • Para um tamanho de imagem 1x1:
    • worksheet.InsertImage("image.gif", 5, 1, 6, 2);
  • Para um tamanho de imagem 2x2:
    • worksheet.InsertImage("image.gif", 5, 1, 7, 3);

Ao trabalhar com imagens no Excel, entenda como o IronXL as gerencia internamente. Cada imagem inserida recebe um ID único que segue um padrão específico.

ObserveOs IDs de imagem gerados seguem um padrão de 1, 3, 5, 7 e assim por diante.
Esta sequência de números ímpares é crucial ao referenciar imagens específicas para operações de extração ou remoção mais tarde.

: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

O método InsertImage oferece flexibilidade para posicionar e dimensionar imagens dentro da sua planilha. Diferentemente da inserção manual de imagens no Excel, a inserção programática garante um posicionamento consistente em vários arquivos, tornando-o ideal para gerar relatórios ou documentos que exigem formatação padronizada. Esta abordagem é particularmente benéfica quando trabalhando com Excel em C# sem Interop, pois elimina dependências de instalações do Microsoft Office.

Como se Parece a Imagem Inserida no Excel?

Planilha com dois logos coloridos inseridos nas células C4 e C7, mostrando inserção de imagens bem-sucedida

Como Posso Extrair Imagens de Arquivos do Excel?

To extract images from the selected worksheet, access the Images property, which provides a list of all images contained within the sheet. Este recurso é essencial quando você precisa carregar arquivos do Excel sem Interop e processar seu conteúdo visual incorporado. Desta lista, você pode realizar várias operações, como exportar, redimensionar, recuperar posições e obter os dados de bytes de cada imagem. Os IDs de imagem seguem um padrão de números ímpares, incrementando na sequência de 1, 3, 5, 7 e assim por diante.

O processo de extração fornece acesso abrangente às propriedades e dados das imagens, permitindo que os desenvolvedores:

  • Exportem imagens para vários formatos (PNG, JPEG, BMP, etc.)
  • Recuperem informações de posicionamento de imagens para preservação do layout
  • Acessar dados brutos de bytes para processamento ou armazenamento personalizado
  • Redimensionar imagens programaticamente sem bibliotecas externas de processamento de imagem

Esta funcionalidade se mostra inestimável ao migrar conteúdo entre diferentes formatos de documentos ou ao construir sistemas que precisam catalogar e gerenciar ativos visuais de arquivos do Excel. A capacidade de extrair imagens programaticamente também apoia processos automatizados de controle de qualidade em que as imagens precisam de validação ou processamento de acordo com regras de negócios específicas.

: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

Como Remover Imagens de Planilhas do Excel?

Following the extract images example, you can easily remove any inserted image using its corresponding index number. Passe o número ID da imagem para o método RemoveImage para removê-la da planilha. Esta operação é particularmente útil quando você precisa editar arquivos do Excel em C# para limpar elementos visuais indesejados ou preparar documentos para diferentes audiências.

O processo de remoção é simples, mas requer compreensão do sistema de identificação de imagens. Como a IronXL atribui IDs em uma sequência de números ímpares (1, 3, 5, 7...), rastreie esses IDs ao gerenciar várias imagens. Considere implementar um sistema de mapeamento em sua aplicação para associar nomes significativos aos IDs das imagens para facilitar a gestão.

: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

Para cenários mais complexos envolvendo várias planilhas e imagens, explore gerenciamento de planilhas para entender como as operações de imagens interagem com operações de nível de planilha. Além disso, ao trabalhar com arquivos Excel protegidos, consulte nosso guia sobre proteção de arquivos Excel para entender como as operações de imagem funcionam com pastas de trabalho protegidas por senha.

Perguntas frequentes

Como posso adicionar imagens a planilhas do Excel programaticamente em C#?

O IronXL oferece o método InsertImage para adicionar imagens a planilhas do Excel. Basta especificar o caminho do arquivo de imagem e as coordenadas do intervalo de células (cantos superior esquerdo e inferior direito) onde você deseja que a imagem apareça. O IronXL suporta vários formatos de imagem, incluindo JPG/JPEG, BMP, PNG, GIF e TIFF.

Quais formatos de imagem são suportados ao inserir imagens no Excel?

O IronXL suporta diversos formatos de imagem para inserção em planilhas do Excel, incluindo JPG/JPEG, BMP, PNG, GIF e TIFF. Essa flexibilidade permite trabalhar com vários tipos de imagem comumente usados em documentos comerciais e visualização de dados.

Como faço para extrair imagens existentes de uma planilha do Excel?

Você pode extrair imagens de planilhas do Excel usando a propriedade de coleção Images do IronXL. Acesse worksheet.Images[index] para recuperar imagens específicas juntamente com suas propriedades e metadados, permitindo que você as reutilize em outros documentos ou aplicativos.

Posso remover imagens de arquivos do Excel programaticamente?

Sim, o IronXL oferece o método RemoveImage para excluir imagens de planilhas. Basta fornecer o ID da imagem para remover imagens específicas, o que lhe dá controle total sobre o gerenciamento de imagens sem a necessidade de interoperabilidade com o Excel.

Como faço para especificar o tamanho e a posição de uma imagem inserida?

Ao usar o método InsertImage do IronXL, você especifica quatro coordenadas: coluna inicial, linha inicial, coluna final e linha final. A imagem será automaticamente redimensionada para se ajustar ao intervalo de células definido. Por exemplo, InsertImage("image.gif", 5, 1, 6, 2) cria uma imagem de tamanho 1x1.

Preciso ter o Microsoft Excel instalado para manipular imagens em planilhas?

Não, o IronXL opera de forma independente, sem exigir dependências do Microsoft Excel ou do Excel Interop. Você pode adicionar, extrair e remover imagens de arquivos do Excel programaticamente, usando apenas a biblioteca IronXL em sua aplicação .NET.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais

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

Pronto para começar?
Nuget Downloads 1,890,100 | Versão: 2026.3 acaba de ser lançado

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

Ainda está rolando a tela?

Quer provas rápidas? PM > Install-Package IronXl.Excel
executar um exemplo Veja seus dados se transformarem em uma planilha.