图片是一种直观、高效的信息表达方式。在实际工作中常常需要在 Excel 报告中插入图片帮助读者更快、更清晰地理解内容和意图。本文将以Spire.XLS for .NET为例介绍如何使用C#和VB.NET在 Excel 文档中插入图片。安装 Spire.XLS for .NET首先您需要在 .NET 项目中添加Spire.XLS for .NET包中包含的 DLL 文件作为引用。您可以通过下载链接手动获取 DLL 文件或者直接使用NuGet进行安装。1PM Install-Package Spire.XLS在 C# 和 VB.NET 中将磁盘中的图片插入到 Excel 中以下是在 Excel 中从本地磁盘插入图片的操作步骤初始化一个Workbook实例。通过Workbook.Worksheets[sheetIndex]属性获取指定的工作表。使用Worksheet.Pictures.Add()方法将图片插入到工作表中。调用Workbook.SaveToFile()方法保存生成的文件。具体示例代码如下123456789101112131415161718192021usingSpire.Xls;namespaceInsertImageInExcel{classProgram{staticvoidMain(string[] args){// 初始化一个 Workbook 实例Workbook workbook newWorkbook();// 获取第一个工作表Worksheet sheet workbook.Worksheets[0];// 将图片插入到工作表中sheet.Pictures.Add(1, 1,E:\work\sample.jpg);// 保存生成的文件workbook.SaveToFile(InsertImageFromDisk.xlsx, ExcelVersion.Version2016);}}}在 C# 和 VB.NET 中将网络图片通过 URL插入到 Excel 中以下是在 Excel 中通过 URL 插入网络图片的操作步骤初始化一个Workbook实例。通过Workbook.Worksheets[sheetIndex]属性获取指定的工作表。初始化一个WebClient实例并使用WebClient.DownloadData(urlAddress)方法从指定的 URL 下载网络图片获取字节数组。使用该字节数组初始化一个MemoryStream实例。通过内存流创建一个Image对象然后使用Worksheet.Pictures.Add()方法将图片插入到工作表中。调用Workbook.SaveToFile()方法保存生成的文件。具体示例代码如下123456789101112131415161718192021222324252627282930313233343536373839usingSpire.Xls;usingSystem.Drawing;usingSystem.IO;usingSystem.Net;namespaceInsertWebImageInExcel{classProgram{staticvoidMain(string[] args){// 初始化一个 Workbook 实例Workbook workbook newWorkbook();// 获取第一个工作表Worksheet sheet workbook.Worksheets[0];// 指定图片的 URL 地址stringURL https://www.e-iceblue.com/downloads/demo/Logo.png;// 初始化 WebClient 实例WebClient webClient newWebClient();// 从指定 URL 下载图片并获取字节数组byte[] imageData webClient.DownloadData(URL);// 使用字节数组初始化 MemoryStream 实例MemoryStream objImage newMemoryStream(imageData);// 通过内存流创建 Image 对象Image image Image.FromStream(objImage);// 将图片插入到工作表中sheet.Pictures.Add(3, 2, image);// 保存生成的文件workbook.SaveToFile(InsertWebImage.xlsx, ExcelVersion.Version2016);}}}方法补充1、C#代码 向Excel文档写入图片放置指定的单元格1234567891011121314151617181920212223242526using(var workbook newXLWorkbook()){//插入图片到excel文档指定的列中if(!string.IsNullOrEmpty(templateDto.Count 0 ? templateDto[0].imagePath :)){stringimagePath templateDto[0].imagePath;using(var ms newFileStream(imagePath, FileMode.Open)){// 添加一个工作表var worksheet workbook.Worksheets.Add(Sheet1);var picture worksheet.AddPicture(ms);var cell worksheet.Cell(C1);// 指定起始单元格picture.MoveTo(cell);}// 文件流在此处自动关闭if(File.Exists(imagePath)){File.Delete(imagePath);}}// 保存工作簿workbook.SaveAs(exampleWithImage.xlsx);}}2、C#使用NPOI在Excel中插入图片下面代码展示了如何在Excel工作簿中使用HSSFWorkbook类添加图片。首先创建工作簿然后将图片数据以PNG格式添加接着获取名为稽核主页的sheet页创建绘图父元素定义图片的锚点坐标最后在指定位置插入图片1234567891011121314151617181920212223//Excel 可以创建两种 HSSFWorkbook XSSFWorkbookIWorkbook wb newHSSFWorkbook(ms);//加入图片 pic[PlacodeQPA] 为图片的byte[], PictureType.PNG 为图片的类型intip wb.AddPicture(pic[PlacodeQPA], PictureType.PNG);//获取sheet页可以根据sheet页名称获取也可以根据sheet页索引(从0开始)获取//sheet wb.GetSheetAt(0);//先将图片加入wb中再去获取sheet页sheet wb.GetSheet(稽核主页);IDrawing drawing sheet.CreateDrawingPatriarch();IClientAnchor anchor wb.GetCreationHelper().CreateClientAnchor();//左上角的行anchor.Row1 28;//左上角的列anchor.Col1 1;//右下角的行anchor.Row2 38;//右下角的列anchor.Col2 4;IPicture picture drawing.CreatePicture(anchor, ip);复制讲解到此这篇关于使用C#代码实现将图片插入到Excel中的文章就介绍到这了,