IronXL 操作指南 添加、提取和删除图像 如何使用 C# 在 Excel 中添加、提取和删除图像 Curtis Chau 已更新:2026年1月10日 下载 IronXL NuGet 下载 DLL 下载 免费试用 法学硕士副本 法学硕士副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在 Grok 中打开 向 Grok 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 This article was translated from English: Does it need improvement? Translated View the article in English IronXL 使 C# 开发人员能够以编程方式将图像插入 Excel 工作表,提取现有图像及其属性,并使用简单的 API 方法删除不需要的图像,而无需依赖 Excel Interop。 当在.NET中创建 Excel 文件时,需要使用公司徽标、产品图像或数据可视化图形等可视化元素,因此该功能至关重要。 添加图片可通过相关图形或插图丰富数据。 删除图片可简化内容编辑和组织。 通过提取图片,可以在其他文档或应用程序中重新使用这些图片,并更新现有图片。 这些功能可完全控制 Excel 工作簿中的图像处理。 快速入门:一次性插入、提取和删除图像 使用 IronXL 直观的 API,只需几行即可添加、获取和删除工作表中的图片。 本示例展示了如何插入图片、通过图片集访问图片以及删除图片--所有这些操作都无需接触 Interop。 立即开始使用 NuGet 创建 PDF 文件: 使用 NuGet 包管理器安装 IronXL PM > Install-Package IronXL.Excel 复制并运行这段代码。 workSheet.InsertImage("logo.png", 1, 1, 3, 3); workSheet.RemoveImage(1); var firstImage = workSheet.Images[0]; 部署到您的生产环境中进行测试 立即开始在您的项目中使用 IronXL,免费试用! 免费试用30天 ### 最小工作流程(5 个步骤) 下载 C# 库,用于在电子表格中插入、提取和删除图像。 导入现有 Excel 文件或创建一个新的 使用`InsertImage方法将图像插入到工作表中。 访问Images属性以提取图像及其信息 将图像 ID 提供给RemoveImage方法即可删除图像。 如何在 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"); 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") $vbLabelText $csharpLabel InsertImage 方法可在工作表中灵活定位和调整图像大小。 与 Excel 中的手动图像插入不同,程序化插入可确保多个文件中的位置一致,因此非常适合生成需要标准化格式的报告或文档。 当在 C# 中使用 Excel 而无需 Interop 时,这种方法尤其有益,因为它消除了对 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") $vbLabelText $csharpLabel 提取的图像 图片尺寸 如何删除 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") $vbLabelText $csharpLabel 对于涉及多个工作表和图像的更复杂场景,请浏览 管理工作表,以了解图像操作如何与工作表级操作交互。 此外,在处理受保护的 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 即可完全控制图像管理。 如何指定插入图片的大小和位置? 使用 IronXL 的 InsertImage 方法时,您需要指定四个坐标:起始列、起始行、终止列和终止行。图像会自动拉伸或压缩,以适应定义的单元格范围。例如,InsertImage("image.gif", 5, 1, 6, 2) 创建的图像大小为 1x1。 我需要安装 Microsoft Excel 才能在电子表格中处理图像吗? 不,IronXL.Excel 可独立运行,无需 Microsoft Excel 或 Excel Interop 依赖项。只需在您的 .NET 应用程序中使用 IronXL for .NET 库,您就可以通过编程从 Excel 文件中添加、提取和删除图像。 Curtis Chau 立即与工程团队聊天 技术作家 Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 准备开始了吗? Nuget 下载 1,846,091 | 版本: 2026.2 刚刚发布 免费 NuGet 下载 总下载量:1,846,091 查看许可证