本篇文章將介紹C# 如何處理Excel圖形相關的問題,包括如下內容要點:html
1.繪製圖形ide
1.1 繪製圖形並添加文本到圖形工具
1.2 添加圖片到圖形ui
1.3 設置圖形陰影效果spa
1.4 設置圖形透明度code
2. 提取圖形中的文本、圖片orm
3. 設置圖形的顯示、隱藏htm
4. 刪除圖形對象
4.1刪除指定圖形blog
4.2 刪除全部圖形
PS: 下載安裝該類庫後,注意在項目程序中添加引用Spire.Xls.dll文件(dll文件可在安裝路徑下的Bin文件夾中獲取)
注:Spire.xls能支持的圖形種類不少,常見的Office Excel中的圖形,這個類庫也都能實現,
【C#】
using System.Drawing; using Spire.Xls; using Spire.Xls.Core; namespace Add_shapes_to_Excel { class Program { static void Main(string[] args) { //建立實例 Workbook workbook = new Workbook(); //獲取第一個工做表 Worksheet sheet = workbook.Worksheets[0]; //添加「太陽」形狀的圖形,並填充顏色,設置圖形的透明度爲50% IPrstGeomShape Triangle = sheet.PrstGeomShapes.AddPrstGeomShape(2, 2, 170, 160, PrstGeomShapeType.Sun); Triangle.Fill.ForeColor = Color.Orange; Triangle.Fill.FillType = ShapeFillType.SolidColor;
Triangle.Fill.Transparency = 0.5; Triangle.Text = "IT'S A SUNNY DAY";//添加文本 //添加「禁止」標誌的圖形,並填充漸變顏色 IPrstGeomShape heart = sheet.PrstGeomShapes.AddPrstGeomShape(2, 7, 140, 140, PrstGeomShapeType.NoSmoking); heart.Fill.ForeColor = Color.Red; heart.Fill.FillType = ShapeFillType.Gradient; //添加雲朵形狀的圖形 IPrstGeomShape Cloud = sheet.PrstGeomShapes.AddPrstGeomShape(15, 2, 160, 160, PrstGeomShapeType.Cloud); //設置圖形陰影效果 Cloud.Shadow.Angle = 90; Cloud.Shadow.Distance = 10; Cloud.Shadow.Size = 100; Cloud.Shadow.Color = Color.SteelBlue; Cloud.Shadow.Blur = 30; Cloud.Shadow.Transparency = 1; Cloud.Shadow.HasCustomStyle = true; //添加五角星形狀的圖形,並加載圖片來填充圖形 IPrstGeomShape cloud = sheet.PrstGeomShapes.AddPrstGeomShape(15, 7, 160, 160, PrstGeomShapeType.Star5); cloud.Fill.CustomPicture(Image.FromFile("sm.png"), "sm.png"); cloud.Fill.FillType = ShapeFillType.Picture; //保存並打開文檔 workbook.SaveToFile("AddShapes.xlsx", ExcelVersion.Version2013); System.Diagnostics.Process.Start("AddShapes.xlsx"); } } }
圖形插入效果:
【C#】
using System.Drawing; using System.Drawing.Imaging; using System.IO; using System.Text; using Spire.Xls; using Spire.Xls.Core; namespace Extract_text_and_image_from_Excel_shape { class Program { static void Main(string[] args) { //建立實例,加載Excel工做表 Workbook workbook = new Workbook(); workbook.LoadFromFile("test.xlsx"); //獲取第一個工做表 Worksheet sheet = workbook.Worksheets[0]; //提取指定形狀中的文本內容,並將提取到的文本保存到指定文檔 IPrstGeomShape shape1 = sheet.PrstGeomShapes[0]; string s = shape1.Text; StringBuilder sb = new StringBuilder(); sb.AppendLine(s); File.WriteAllText("ExtractText.txt", sb.ToString()); System.Diagnostics.Process.Start("ExtractText.txt"); //提取指定圖形中的圖片,並保存圖片到指定文件 IPrstGeomShape shape2 = sheet.PrstGeomShapes[3]; Image image = shape2.Fill.Picture; image.Save("ShapeImage.png", ImageFormat.Png); System.Diagnostics.Process.Start("ShapeImage.png"); } } }
提取結果:
【C#】
using Spire.Xls; namespace HideShapes_XLS { class Program { static void Main(string[] args) { //建立實例,加載Excel文檔 Workbook workbook = new Workbook(); workbook.LoadFromFile("test.xlsx"); //獲取第一個工做表 Worksheet sheet = workbook.Worksheets[0]; //隱藏第3個圖形 sheet.PrstGeomShapes[2].Visible = false; //顯示圖形 //sheet.PrstGeomShapes[1].Visible = true; //保存並打開文檔 workbook.SaveToFile("HideShape.xlsx", ExcelVersion.Version2013); System.Diagnostics.Process.Start("HideShape.xlsx"); } } }
設置效果:
【C#】
using Spire.Xls; namespace RemoveShapes_XLS { class Program { static void Main(string[] args) { //實例化Workbook類對象,加載Excel文件 Workbook workbook = new Workbook(); workbook.LoadFromFile("test.xlsx"); //獲取第一個工做表 Worksheet sheet = workbook.Worksheets[0]; //刪除第一個圖形 sheet.PrstGeomShapes[0].Remove(); //刪除全部圖形 //for (int i = sheet.PrstGeomShapes.Count-1; i >= 0; i--) //{ // sheet.PrstGeomShapes[i].Remove(); //} //保存並打開文件 workbook.SaveToFile("DeleteShape.xlsx", ExcelVersion.Version2013); System.Diagnostics.Process.Start("DeleteShape.xlsx"); } } }
圖形刪除效果:
以上是關於「C#操做Excel中圖形」的介紹,如需轉載,請註明出處。