Como Adicionar, Extrair e Remover Imagens em Planilha Excel com C# e IronXL
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. É possível criar planilha Excel com elementos visuais como logos de empresas, imagens de produtos ou gráficos ao criar arquivos Excel em .NET para 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.
-
Instale IronXL com o Gerenciador de Pacotes NuGet
PM > Install-Package IronXL.Excel -
Copie e execute este trecho de código.
workSheet.InsertImage("logo.png", 1, 1, 3, 3); workSheet.RemoveImage(1); var firstImage = workSheet.Images[0]; -
Implante para testar em seu ambiente de produção.
Comece a usar IronXL em seu projeto hoje com uma avaliação gratuita
- Baixe a biblioteca C# para inserir, extrair e remover imagens de planilhas
- Importe um arquivo Excel existente ou crie um novo.
- Use o método `InsertImage` para inserir uma imagem na planilha
- Acesse a propriedade **Images** para extrair imagens e suas informações
- Forneça o ID ao método `RemoveImage` para remover a imagem
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.
: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")
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?
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");
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")
Imagens Extraídas
Tamanho da Imagem
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");
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")
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.

