C# 如何在Excel中繪製圖形

來源:互聯網
上載者:User

標籤:file   string   range   技術分享   spi   dia   orange   mpi   extra   

本篇文章將介紹C# 如何處理Excel圖形相關的問題,包括以下內容要點:
1、繪製圖形

  • 繪製圖形並添加文本到圖形
  • 添加圖片到圖形
  • 設定圖形陰影製作效果
    2、 提取圖形中的文本、圖片
    3、設定圖形的顯示、隱藏
    4.、刪除圖形
  • 刪除指定圖形
  • 刪除所有圖形
所需工具:
  • Free Spire.XLS for .NET 8.3 (社區版)
    PS: 下載安裝該類庫後,注意在項目程式中添加引用Spire.Xls.dll檔案(dll檔案可在安裝路徑下的Bin檔案夾中擷取)

註:Spire.xls能支援的圖形種類很多,常見的Office Excel中的圖形,這個類庫也都能實現:

範例程式碼(供參考)1. 繪製圖形

【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];            //添加“太陽”形狀的圖形,並填充顏色            IPrstGeomShape Triangle = sheet.PrstGeomShapes.AddPrstGeomShape(2, 2, 170, 160, PrstGeomShapeType.Sun);            Triangle.Fill.ForeColor = Color.Orange;            Triangle.Fill.FillType = ShapeFillType.SolidColor;                        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");        }    }}

圖形插入效果:

2.提取圖形中的文本和圖片

【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");        }    }}

提取結果:

3、設定圖形的隱藏、顯示

【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");        }    }}

設定效果:

4 、刪除Excel圖形

【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中圖形”的介紹,如需轉載,請註明出處。

C# 如何在Excel中繪製圖形

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.