IRONSOFTWAREHOME

如何使用 C# 在 Excel 中添加、提取和删除图像

Curtis Chau
Curtis Chau
Updated: 2026年4月22日

IronXL 使 C# 开发人员能够以编程方式将图像插入 Excel 工作表,提取现有图像及其属性,并使用简单的 API 方法删除不需要的图像,而无需依赖 Excel Interop。 当在.NET中创建 Excel 文件时,需要使用公司徽标、产品图像或数据可视化图形等可视化元素,因此该功能至关重要。

添加图片可通过相关图形或插图丰富数据。 删除图片可简化内容编辑和组织。 通过提取图片,可以在其他文档或应用程序中重新使用这些图片,并更新现有图片。 这些功能可完全控制 Excel 工作簿中的图像处理。

快速入门:一键插入、提取和移除图片 using IronXL 直观的 API,只需几行即可添加、获取和删除工作表中的图片。 此示例展示了如何插入图像,通过Images集合访问它,然后将其删除——所有这些都无需触碰互操作。

  1. 1Install IronXL with NuGet Package Manager

    PM > Install-Package IronXL.Excel

  2. 2复制并运行这段代码。

    workSheet.InsertImage("logo.png", 1, 1, 3, 3);
    workSheet.RemoveImage(1);
    var firstImage = workSheet.Images[0];
    C#
  3. 3部署到您的生产环境中进行测试

    通过免费试用立即在您的项目中开始使用IronXL
    arrow pointer

如何在 Excel 工作表中添加图片?

要将图像插入电子表格中,请使用支持多种图像类型(包括JPG/JPEG、BMP、PNG、GIF和TIFF)的InsertImage方法。 当您需要用 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等模式。

这一奇数序列在稍后引用特定图像以进行提取或删除操作时至关重要。

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");

InsertImage方法在您的工作表中提供了位置和大小设置图像的灵活性。 与 Excel 中的手动图像插入不同,程序化插入可确保多个文件中的位置一致,因此非常适合生成需要标准化格式的报告或文档。 当在 C# 中使用 Excel 而无需 Interop 时,这种方法尤其有益,因为它消除了对 Microsoft Office 安装的依赖。

Excel 中插入的图片是什么样子的?

在 C4 和 C7 单元格中插入了两个彩色徽标的电子表格,显示图像插入成功

如何从 Excel 文件中提取图像?

要从选定的工作表中提取图像,请访问 Images 属性,该属性提供了工作表中包含的所有图像的列表。 当您需要在不使用 Interop 的情况下加载 Excel 文件并处理其嵌入的可视化内容时,该功能至关重要。 通过此列表,您可以执行各种操作,例如导出、调整大小、检索位置以及获取每张图像的字节数据。 图片 ID 采用奇数模式,按 1、3、5、7 等顺序递增。

提取过程提供了对图像属性和数据的全面访问,使开发人员能够

  • 将图像导出为各种格式(PNG、JPEG、BMP 等)
  • 检索图像定位信息以保存布局
  • 访问原始字节数据,进行自定义处理或存储
  • 以编程方式调整图像大小,无需外部图像处理库

在不同文件格式之间迁移内容,或在构建需要对 Excel 文件中的可视化资产进行编目和管理的系统时,这种功能证明是非常有价值的。 以编程方式提取图像的能力还支持自动质量控制流程,在这种流程中,图像需要根据特定的业务规则进行验证或处理。

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");
文件资源管理器显示 Documents/Replicate/bin/Debug/net6.0 目录中提取的 PNG 图像和文件
电子表格显示三张提取的图像,分别位于单元格 C2-E2、C5-E6 和 C8-E10,带坐标网格

如何删除 Excel 工作表中的图像?

按照提取图像的示例,您可以使用相应的索引号轻松删除任何插入的图像。 将图像的ID号传递给RemoveImage方法以将其从工作表中删除。 当您需要用 C# 编辑 Excel 文件以清理不需要的可视化元素或为不同受众准备文档时,此操作尤其有用。

删除过程简单明了,但需要了解图像 ID 系统。 由于 IronXL 以奇数序列(1、3、5、7......)分配 ID,因此在管理多个图像时要跟踪这些 ID。 考虑在您的应用程序中实施映射系统,将有意义的名称与图像 ID 关联起来,以方便管理。

using IronXL;

WorkBook workBook = WorkBook.Load("insertImages.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Remove image
workSheet.RemoveImage(3);

workBook.SaveAs("removeImage.xlsx");

对于涉及多个工作表和图像的更复杂场景,请浏览 管理工作表,以了解图像操作如何与工作表级操作交互。 此外,在处理受保护的 Excel 文件时,请参考我们的保护 Excel 文件指南,了解图像操作如何与受密码保护的工作簿配合使用。

常见问题解答

如何用 C# 编程将图像添加到 Excel 电子表格中?

IronXL.Excel 提供了 InsertImage 方法,用于在 Excel 工作表中添加图片。只需指定图片文件路径和希望图片出现的单元格区域坐标(左上角和右下角)即可。IronXL 支持多种图像格式,包括 JPG/JPEG、BMP、PNG、GIF 和 TIFF。

在 Excel 中插入图片时支持哪些图片格式?

IronXL.Excel 支持插入 Excel 工作表的多种图像格式,包括 JPG/JPEG、BMP、PNG、GIF 和 TIFF。这种灵活性使您可以处理商业文档和数据可视化中常用的各种图像类型。

如何从 Excel 工作表中提取现有图像?

您可以使用 IronXL.Excel 的 Images 集合属性从 Excel 工作表中提取图像。访问 worksheet.Images[index],即可检索特定图像及其属性和元数据,从而在其他文档或应用程序中重新使用这些图像。

能否以编程方式删除 Excel 文件中的图像?

是的,IronXL 提供了 RemoveImage 方法来删除工作表中的图片。只需提供图像 ID 即可删除特定图像,让您无需 Excel Interop 即可完全控制图像管理。

如何指定插入图片的大小和位置?

using IronXL 的 InsertImage 方法时,您需要指定四个坐标:起始列、起始行、终止列和终止行。图像会自动拉伸或压缩,以适应定义的单元格范围。例如,InsertImage("image.gif", 5, 1, 6, 2) 创建的图像大小为 1x1。

我需要安装 Microsoft Excel 才能在电子表格中处理图像吗?

不,IronXL.Excel 可独立运行,无需 Microsoft Excel 或 Excel Interop 依赖项。只需在您的 .NET 应用程序中使用 IronXL for .NET 库,您就可以通过编程从 Excel 文件中添加、提取和删除图像。

Does IronXL require Excel Interop to manage images in Excel files?

No, IronXL does not require Excel Interop. It fully supports adding, extracting, and removing images from Excel files programmatically, eliminating the need for Microsoft Office dependencies.

How can I retain the position of images when extracting them from Excel files with IronXL?

When extracting images with IronXL, you can retrieve their position data, including row and column indices, to preserve layout and positioning information.

Why would I use IronXL for image manipulation in Excel workbooks?

IronXL simplifies image manipulation in Excel, allowing for consistent placement, extraction, and removal of images programmatically without reliance on manual processes or Excel Interop.

Can IronXL handle images in password-protected Excel files?

Yes, IronXL can work with password-protected Excel files. You may need to manage worksheet-level operations to ensure compatibility with image manipulation.

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

...
阅读更多

准备开始了吗?

Nuget Downloads 2,237,574版本:2026.9刚刚发布

免费获取

30天试用密钥 即刻获取。

bullet_checked无需信用卡或创建账户
bullet_test在生产环境中测试
且无水印
bullet_calendar30天完全
功能性产品
bullet_support试用期间提供
24/5技术支持
立即获取您的免费30 天试用密钥
无需信用卡或创建账户
C# 用于 PDF 的 NuGet 库
通过 NuGet 安装

版本: 2026.9

PM > Install-Package IronXL.Excel
nuget.org/packages/IronXL.Excel/
  1. 在解决方案资源管理器中,右键点击引用,管理 NuGet 包
  2. 选择浏览并搜索“IronXL”
  3. 选择包并安装
C# PDF DLL
下载 DLL

版本: 2026.9

  1. 下载并解压IronXL到你的解决方案目录中的~/Libs等位置
  2. 在Visual Studio解决方案资源管理器中,右键单击引用。选择浏览,“IronXL.dll”

许可证从 $999

Key in blue circle

立即获取免费的 30 天试用版密钥

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
预约您的免费现场演示
Booking Badge

深受全球数百万工程师信赖

Iron Software 的客户徽标
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥
无需信用卡或创建账户