C#實現(xiàn)添加/替換/提取或刪除Excel中的圖片
在Excel中插入與數(shù)據(jù)相關的圖片,能將關鍵數(shù)據(jù)或信息以更直觀的方式呈現(xiàn)出來,使文檔更加美觀。此外,對于已有圖片,你有事可能需要更新圖片以確保信息的準確性,或者將Excel 中的圖片單獨保存,用于資料歸檔、備份或在其他項目中重復使用。
本文將介紹如何在.NET 程序中通過C# 在Excel中插入圖片,或者替換、提取、刪除Excel中的圖片。
本文需要用到一個免費庫 Free Spire.XLS for .NET。該庫可以在Visual > Studio > NuGet程序包管理器中搜索 “FreeSpire.XLS” 來安裝。也可以通過下載產(chǎn)品包后手動添加引用。
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) { // 創(chuàng)建工作簿 Workbook workbook = new Workbook(); // 獲取第一張工作表 Worksheet sheet = workbook.Worksheets[0]; // 在指定單元格中插入圖片(此處為第一行第二列,即B1單元格) ExcelPicture pic = sheet.Pictures.Add(1, 2, "示例.png"); // 設置圖片寬高度 pic.Width = 120; pic.Height = 120; // 調(diào)整圖片所在位置的列寬和行高 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.Picture = Image.FromFile("pic.jpg"); // 保存文檔 workbook.SaveToFile("替換圖片.xlsx", ExcelVersion.Version2016); } } }
C# 提取Excel中的圖片
提取Excel中的圖片的實現(xiàn)思路為先遍歷工作表中的所有圖片,然后通過 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]; // 遍歷每一張圖片并刪除 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#實現(xiàn)添加/替換/提取或刪除Excel中的圖片的文章就介紹到這了,更多相關C#操作Excel圖片內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
c#數(shù)據(jù)綁定之向查詢中添加參數(shù)(.Net連接外部數(shù)據(jù)庫)
本實例主要練習了ADO.Net連接到外部數(shù)據(jù)庫的基礎上,向查詢中添加參數(shù)。使用的是ACCESS數(shù)據(jù)庫2014-04-04webBrowser執(zhí)行js的方法,并返回值,c#后臺取值的實現(xiàn)
下面小編就為大家?guī)硪黄獁ebBrowser執(zhí)行js的方法,并返回值,c#后臺取值的實現(xiàn)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-12-12Visual C#.Net 網(wǎng)絡程序開發(fā)-Socket篇
Visual C#.Net 網(wǎng)絡程序開發(fā)-Socket篇...2007-03-03新手小白用C# winform 讀取Excel表的實現(xiàn)
這篇文章主要介紹了新手小白用C# winform 讀取Excel表的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-01-01