如何使用C#代码将图片插入到 Excel 中

图片是一种直观、高效的信息表达方式。在实际工作中,常常需要在 Excel 报告中插入图片,帮助读者更快、更清晰地理解内容和意图。本文将以 Spire.XLS for .NET 为例,介绍如何使用 C#VB.NET 在 Excel 文档中插入图片。

安装 Spire.XLS for .NET

首先,您需要在 .NET 项目中添加 Spire.XLS for .NET 包中包含的 DLL 文件作为引用。您可以通过下载链接手动获取 DLL 文件,或者直接使用 NuGet 进行安装。

cs 复制代码
PM> Install-Package Spire.XLS

在 C# 和 VB.NET 中将磁盘中的图片插入到 Excel 中

以下是在 Excel 中从本地磁盘插入图片的操作步骤:

  1. 初始化一个 Workbook 实例。

  2. 通过 Workbook.WorksheetssheetIndex 属性获取指定的工作表。

  3. 使用 Worksheet.Pictures.Add() 方法将图片插入到工作表中。

  4. 调用 Workbook.SaveToFile() 方法保存生成的文件。

具体示例代码如下:

cs 复制代码
using Spire.Xls;

namespace InsertImageInExcel
{
    class Program
    {
        static void Main(string[] args)
        {
            // 初始化一个 Workbook 实例
            Workbook workbook = new Workbook();
            // 获取第一个工作表
            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 插入网络图片的操作步骤:

  1. 初始化一个 Workbook 实例。

  2. 通过 Workbook.WorksheetssheetIndex 属性获取指定的工作表。

  3. 初始化一个 WebClient 实例,并使用 WebClient.DownloadData(urlAddress) 方法从指定的 URL 下载网络图片,获取字节数组。

  4. 使用该字节数组初始化一个 MemoryStream 实例。

  5. 通过内存流创建一个 Image 对象,然后使用 Worksheet.Pictures.Add() 方法将图片插入到工作表中。

  6. 调用 Workbook.SaveToFile() 方法保存生成的文件。

具体示例代码如下:

cs 复制代码
using Spire.Xls;
using System.Drawing;
using System.IO;
using System.Net;

namespace InsertWebImageInExcel
{
    class Program
    {
        static void Main(string[] args)
        {
            // 初始化一个 Workbook 实例
            Workbook workbook = new Workbook();

            // 获取第一个工作表
            Worksheet sheet = workbook.Worksheets[0];

            // 指定图片的 URL 地址
            string URL = "https://www.e-iceblue.com/downloads/demo/Logo.png";

            // 初始化 WebClient 实例
            WebClient webClient = new WebClient();
            // 从指定 URL 下载图片并获取字节数组
            byte[] imageData = webClient.DownloadData(URL);

            // 使用字节数组初始化 MemoryStream 实例
            MemoryStream objImage = new MemoryStream(imageData);

            // 通过内存流创建 Image 对象
            Image image = Image.FromStream(objImage);

            // 将图片插入到工作表中
            sheet.Pictures.Add(3, 2, image);

            // 保存生成的文件
            workbook.SaveToFile("InsertWebImage.xlsx", ExcelVersion.Version2016);
        }
    }
}

申请临时许可证

如果您希望移除生成文档中的评估提示,或解除功能限制,请申请一份 30 天的试用许可证

相关推荐
从零开始的代码生活_8 小时前
C++ 继承详解:访问控制、对象模型、菱形继承与设计取舍
开发语言·c++·后端·学习·算法
云小逸8 小时前
【C++ 第七阶段:模板、泛型编程与工程综合详解】
开发语言·c++
GIS阵地8 小时前
QgsSingleBandPseudoColorRenderer 完整详解(QGIS 3.40.13 C++)
开发语言·前端·c++·qt·qgis
yaoxin5211239 小时前
470. Java 反射 - Member 接口与 AccessFlag
java·开发语言·python
groundhappy9 小时前
idalib安装和codex ida-mcp配置
linux·开发语言·python
小钻风336610 小时前
Spring Boot 文件上传详解:深入理解 MultipartFile 的使用与原理
java·开发语言
qq_4523962311 小时前
第二篇:《Go 开发环境搭建:SDK、IDE、Module 与 Hello World》
开发语言·ide·golang
观远数据11 小时前
Excel到数据资产池:文件数据入湖的治理规范怎么建
前端·javascript·excel
EIP低代码平台11 小时前
EIP低代码平台系统-字典功能讲解
低代码·c#·工作流
天青色等烟雨..11 小时前
全流程ArcGISPro空间分析、三维建模、可视化及Python融合应用技术
开发语言·python