本文主要是介绍C#实现添加/替换/提取或删除Excel中的图片,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
《C#实现添加/替换/提取或删除Excel中的图片》在Excel中插入与数据相关的图片,能将关键数据或信息以更直观的方式呈现出来,使文档更加美观,下面我们来看看如何在C#中实现添加/替换/提取或删除E...
在Excandroidel中插入与数据相关的图片,能将关键数据或信息以更直观的方式呈现出来,使文档更加美观。此外,对于已有图片,你有事可能需要更新图片以确保信息的准确性,或者将Excel 中的图片单独保存,用于资料归档、备份或在其他项目中重复使用。
本文将介绍如何在.NET 程序中通过C# 在Excel中插入图片,或者替换、提取、删除Excel中的图片。
本文需要用到一个免费库 Free Spire.XLS for .NET。该库可以在Visual > Studio > NuGet程序包管理器中搜索 “FreeSpire.XLS” 来安装。也可以通过下载产品包后手动添加引用。
C# 在Excel中插入图片
免费Spire.XLS库提供的 Worksheet.Pictures.Add(int topRow, int leftColumn, Image image) 方法可在工作表指定单元格中插入图片,并返回一个 ExcelPicture 对象。然后你可以通过ExcelPicture类下的各属性设置图片的宽度、高度、与单元格边框的距离等。
C#代码:
using Spire.Xls; namespace InsertImageInExcel { class Program { static void Main(string[] args) China编程 { // 创建工作簿 Workbook workbook = new Workbook(); // 获取第一张工作表 Worksheet sheet = workbook.Worksheets[0]; // 在指定单元格中插入图片(此处为第一行第二列,即B1单元格) ExcelPicture pic = sheet.Pictures.Add(1, 2, "示例.png"); // 设置图片宽高度 pic.Width = 120; pic.Height = 120; // 调整图片所在位置的列宽和行高 sheet.Columns[1].ColumnWidth = 20; sheet.Rows[0].RowHeight = 110; // 设置单元格边框与图片之间的距离 pic.LeftColumnOffset = 90; pic.TopRowOffset = 20; // 保存Excel文件 workbook.SaveToFile("插入图片.xlsx", ExcelVersion.Version2016); } } }
C# 替换Excel中的图片
要替换Excel中的图片,我们可以先通过 Worksheet.Pictures[index] 属性获取工作表中指定的图片,然后加载一张新图片并将其赋值给 ExcelPicture 的 Picture 属性,从而完成图片的替换操作。
C#代码:
using Spire.Xls;
using Spire.Xls.Collections;
using System.Drawing;
namespace ReplacePictureinExcel
{
class Program
{
static void Main(string[] args)
{
// 加载Excel文档
Workbook workbook = new Workbook();
workbook.LoadFromFile("插入图片.xlsx");
// 获取第一张工作表
Worksheet sheet = workbook.Worksheets[0];
// 取工作表中第一张图片
ExcelPicture pic = sheet.Pictures[0];
// 替换图片
pic.Picturhttp://www.chinasem.cne = Image.FromFile("pic.jpg");
// 保存文档
workbook.SaveToFile("替换图片.xlsx",EoNERdBMF ExcelVersion.Version2016);
}
}
}
C# 提取Excel中的图片
提取Excel中的图片的实现思路为先遍历工作表中的所有图片,然后通过 ExcelPicture.Picture.Save() 方法将每一张图片保存到指定的文件路径。
C#代码:
using Spire.Xls; namespace ExtractImages { class Program { static void Main(string[] args) { // 加载Excel文档 Workbook workbook = new Workbook(); workbook.LoadFromFile("图标.xlsx"); // 获取第一张工作表 Worksheet sheet = workbook.Worksheets[0]; // 遍历工作表中所有图片 for (int i = sheet.Pictures.Count - 1; i >= 0; i--) { // 提取图片保存到指定路径 ExcelPicture picture = sheet.Pictures[i]; picture.Picture.Save(string.Format("提取图片\\图片-{0}.png", i)); } } } }
C# 删除Excel中的图片
对于Excel中的不相关或错误图片,我们可以使用 Worksheet.Pictures[index].Remove() 方法通过索引删除指定图片。要删除所有图片,可以遍历每张图片然后删除。
C#代码:
using Spire.Xls; namespace DeleteImages { class Program { static void Main(string[] args) { // 加载Excel文档 Workbook workbook = new Workbook(); workbook.LoadFromFile("图标.xlsx"); // 获取第一张工作表 Worksheet sheet = workbook.Worksheets[0]; // 遍历www.chinasem.cn每一张图片并删除 for (int i = sheet.Pictures.Count - 1; i >= 0; i--) { sheet.Pictures[i].Remove(); } // 保存文档 workbook.SaveToFile("删除图片.xlsx", ExcelVersion.Version2016); } } }
除了操作Excel工作表中的图片外,免费库Free Spire.XLS for .NET 还支持操作多其他种元素,如形状、图表、超链接、水印等。
到此这篇关于C#实现添加/替换/提取或删除Excel中的图片的文章就介绍到这了,更多相关C#操作Excel图片内容请搜索China编程(www.chinasem.cn)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程China编程(www.chinasem.cn)!
这篇关于C#实现添加/替换/提取或删除Excel中的图片的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!