最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用C#代碼實(shí)現(xiàn)將圖片插入到Excel中

 更新時(shí)間:2026年01月06日 08:17:22   作者:2501_93070778  
圖片是一種直觀、高效的信息表達(dá)方式,在實(shí)際工作中,常常需要在 Excel 報(bào)告中插入圖片,本文將以 Spire.XLS for .NET 為例,介紹如何使用 C# 和 VB.NET 在 Excel 文檔中插入圖片,有需要的小伙伴可以了解下

圖片是一種直觀、高效的信息表達(dá)方式。在實(shí)際工作中,常常需要在 Excel 報(bào)告中插入圖片,幫助讀者更快、更清晰地理解內(nèi)容和意圖。本文將以 Spire.XLS for .NET 為例,介紹如何使用 C#VB.NET 在 Excel 文檔中插入圖片。

安裝 Spire.XLS for .NET

首先,您需要在 .NET 項(xiàng)目中添加 Spire.XLS for .NET 包中包含的 DLL 文件作為引用。您可以通過(guò)下載鏈接手動(dòng)獲取 DLL 文件,或者直接使用 NuGet 進(jìn)行安裝。

PM> Install-Package Spire.XLS

在 C# 和 VB.NET 中將磁盤中的圖片插入到 Excel 中

以下是在 Excel 中從本地磁盤插入圖片的操作步驟:

  • 初始化一個(gè) Workbook 實(shí)例。
  • 通過(guò) Workbook.Worksheets[sheetIndex] 屬性獲取指定的工作表。
  • 使用 Worksheet.Pictures.Add() 方法將圖片插入到工作表中。
  • 調(diào)用 Workbook.SaveToFile() 方法保存生成的文件。

具體示例代碼如下:

using Spire.Xls;

namespace InsertImageInExcel
{
    class Program
    {
        static void Main(string[] args)
        {
            // 初始化一個(gè) Workbook 實(shí)例
            Workbook workbook = new Workbook();
            // 獲取第一個(gè)工作表
            Worksheet sheet = workbook.Worksheets[0];

            // 將圖片插入到工作表中
            sheet.Pictures.Add(1, 1, @"E:\work\sample.jpg");

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

在 C# 和 VB.NET 中將網(wǎng)絡(luò)圖片(通過(guò) URL)插入到 Excel 中

以下是在 Excel 中通過(guò) URL 插入網(wǎng)絡(luò)圖片的操作步驟:

  • 初始化一個(gè) Workbook 實(shí)例。
  • 通過(guò) Workbook.Worksheets[sheetIndex] 屬性獲取指定的工作表。
  • 初始化一個(gè) WebClient 實(shí)例,并使用 WebClient.DownloadData(urlAddress) 方法從指定的 URL 下載網(wǎng)絡(luò)圖片,獲取字節(jié)數(shù)組。
  • 使用該字節(jié)數(shù)組初始化一個(gè) MemoryStream 實(shí)例。
  • 通過(guò)內(nèi)存流創(chuàng)建一個(gè) Image 對(duì)象,然后使用 Worksheet.Pictures.Add() 方法將圖片插入到工作表中。
  • 調(diào)用 Workbook.SaveToFile() 方法保存生成的文件。

具體示例代碼如下:

using Spire.Xls;
using System.Drawing;
using System.IO;
using System.Net;

namespace InsertWebImageInExcel
{
    class Program
    {
        static void Main(string[] args)
        {
            // 初始化一個(gè) Workbook 實(shí)例
            Workbook workbook = new Workbook();

            // 獲取第一個(gè)工作表
            Worksheet sheet = workbook.Worksheets[0];

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

            // 初始化 WebClient 實(shí)例
            WebClient webClient = new WebClient();
            // 從指定 URL 下載圖片并獲取字節(jié)數(shù)組
            byte[] imageData = webClient.DownloadData(URL);

            // 使用字節(jié)數(shù)組初始化 MemoryStream 實(shí)例
            MemoryStream objImage = new MemoryStream(imageData);

            // 通過(guò)內(nèi)存流創(chuàng)建 Image 對(duì)象
            Image image = Image.FromStream(objImage);

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

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

方法補(bǔ)充

1、C#代碼 向Excel文檔寫入圖片,放置指定的單元格

            using (var workbook = new XLWorkbook())
            {
 
                    //插入圖片到excel文檔指定的列中
                    if (!string.IsNullOrEmpty(templateDto.Count > 0 ? templateDto[0].imagePath : ""))
                    {
                        string imagePath = templateDto[0].imagePath;
                        using (var ms = new FileStream(imagePath, FileMode.Open))
                        {
                            // 添加一個(gè)工作表
                            var worksheet = workbook.Worksheets.Add("Sheet1");
                            var picture = worksheet.AddPicture(ms);
                            var cell = worksheet.Cell("C1"); // 指定起始單元格
                            picture.MoveTo(cell);
                        } // 文件流在此處自動(dòng)關(guān)閉
 
                        if (File.Exists(imagePath))
                        {
                            File.Delete(imagePath);
                        }
                    }
 
                    // 保存工作簿
                    workbook.SaveAs("exampleWithImage.xlsx");
                }
            }

2、C#使用NPOI在Excel中插入圖片

下面代碼展示了如何在Excel工作簿中使用HSSFWorkbook類添加圖片。首先創(chuàng)建工作簿,然后將圖片數(shù)據(jù)以PNG格式添加,接著獲取名為稽核主頁(yè)的sheet頁(yè),創(chuàng)建繪圖父元素,定義圖片的錨點(diǎn)坐標(biāo),最后在指定位置插入圖片

//Excel 可以創(chuàng)建兩種 HSSFWorkbook  XSSFWorkbook
IWorkbook wb = new HSSFWorkbook(ms);
 
//加入圖片    pic["PlacodeQPA"] 為圖片的byte[],  PictureType.PNG 為圖片的類型            
int ip = wb.AddPicture(pic["PlacodeQPA"], PictureType.PNG);
//獲取sheet頁(yè),可以根據(jù)sheet頁(yè)名稱獲取,也可以根據(jù)sheet頁(yè)索引(從0開(kāi)始)獲取
//sheet = wb.GetSheetAt(0);   
//先將圖片加入wb中,再去獲取sheet頁(yè)?。?!                
sheet = wb.GetSheet("稽核主頁(yè)");
                    
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);

到此這篇關(guān)于使用C#代碼實(shí)現(xiàn)將圖片插入到Excel中的文章就介紹到這了,更多相關(guān)C#圖片插入Excel內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • .Net Winform開(kāi)發(fā)筆記(四)透過(guò)現(xiàn)象看本質(zhì)

    .Net Winform開(kāi)發(fā)筆記(四)透過(guò)現(xiàn)象看本質(zhì)

    本文將從Winform應(yīng)用程序中的Program.cs文件的第一行代碼開(kāi)始逐步分析一個(gè)Winform應(yīng)用程序到底是怎樣從出生走向死亡
    2013-01-01
  • c# Newtonsoft 六個(gè)值得使用的特性(下)

    c# Newtonsoft 六個(gè)值得使用的特性(下)

    這篇文章主要介紹了c# Newtonsoft 六個(gè)值得使用的特性,文中示例代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • C#實(shí)現(xiàn)虛擬鍵盤的實(shí)例詳解

    C#實(shí)現(xiàn)虛擬鍵盤的實(shí)例詳解

    這篇文章主要為大家詳細(xì)介紹了如何利用C#實(shí)現(xiàn)虛擬鍵盤,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下
    2022-12-12
  • C#畫圓角矩形的方法

    C#畫圓角矩形的方法

    這篇文章主要介紹了C#畫圓角矩形的方法,涉及C#繪圖的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-05-05
  • C#遍歷List并刪除某個(gè)元素的方法

    C#遍歷List并刪除某個(gè)元素的方法

    這篇文章主要介紹了C#遍歷List并刪除某個(gè)元素的方法,實(shí)例分析了正序與倒序遍歷list及刪除元素的使用技巧,需要的朋友可以參考下
    2015-02-02
  • C#基于正則去掉注釋的方法示例

    C#基于正則去掉注釋的方法示例

    這篇文章主要介紹了C#基于正則去掉注釋的方法,結(jié)合簡(jiǎn)單實(shí)例形式分析了C#針對(duì)注釋符號(hào)的正則匹配相關(guān)操作技巧,需要的朋友可以參考下
    2017-05-05
  • WinForm窗體間傳值的方法

    WinForm窗體間傳值的方法

    這篇文章主要介紹了WinForm窗體間傳值的方法,包括了靜態(tài)變量、公共變量、共有屬性等方式,是非常實(shí)用的技巧,需要的朋友可以參考下
    2014-11-11
  • C#實(shí)現(xiàn)泛型動(dòng)態(tài)循環(huán)數(shù)組隊(duì)列的方法

    C#實(shí)現(xiàn)泛型動(dòng)態(tài)循環(huán)數(shù)組隊(duì)列的方法

    隊(duì)列一種先進(jìn)先出的數(shù)據(jù)結(jié)構(gòu),本文通過(guò)實(shí)例代碼給大家介紹下C#實(shí)現(xiàn)泛型動(dòng)態(tài)循環(huán)數(shù)組隊(duì)列的方法,感興趣的朋友一起看看吧
    2022-01-01
  • 使用C#將Excel導(dǎo)出為DataTable的實(shí)戰(zhàn)指南

    使用C#將Excel導(dǎo)出為DataTable的實(shí)戰(zhàn)指南

    在當(dāng)今的數(shù)據(jù)驅(qū)動(dòng)時(shí)代,Excel作為一種普遍的數(shù)據(jù)存儲(chǔ)和交換格式,幾乎無(wú)處不在,對(duì)于C#開(kāi)發(fā)者而言,如何高效、便捷地將Excel文件中的數(shù)據(jù)整合到應(yīng)用程序中進(jìn)行處理,常常是一個(gè)需要面對(duì)的挑戰(zhàn),本文將介紹一種強(qiáng)大而易用的解決方案輕松實(shí)現(xiàn)Excel到DataTable的轉(zhuǎn)換
    2025-10-10
  • C#實(shí)現(xiàn)textbox文本多行輸出且自動(dòng)換行輸出

    C#實(shí)現(xiàn)textbox文本多行輸出且自動(dòng)換行輸出

    在WinForms中通過(guò)設(shè)置TextBox的Multiline和WordWrap屬性實(shí)現(xiàn)多行輸出且自動(dòng)換行,可以通過(guò)設(shè)計(jì)器或代碼設(shè)置以上兩個(gè)屬性,文本輸出方法包括直接賦值、追加文本和循環(huán)輸出,完整示例代碼展示了設(shè)計(jì)器設(shè)置后的代碼實(shí)現(xiàn),需要的朋友可以參考下
    2026-04-04

最新評(píng)論

时尚| 梨树县| 宝丰县| 武汉市| 呼图壁县| 沛县| 阳曲县| 达日县| 扶沟县| 广平县| 安阳市| 屏山县| 乐平市| 若羌县| 宝丰县| 锦屏县| 仲巴县| 锦州市| 札达县| 平利县| 梁河县| 娱乐| 诸暨市| 洛扎县| 华阴市| 安塞县| 正宁县| 陈巴尔虎旗| 大姚县| 陈巴尔虎旗| 宜阳县| 衡东县| 紫金县| 乐业县| 贵港市| 莱阳市| 大港区| 开封县| 织金县| 佛冈县| 闻喜县|