C# 添加、修改、刪除Excel圖表數據標籤

圖表中,圖表數據標籤以數據化形式表現圖表中的特定數據,可加強圖表的可讀性。咱們能夠對圖表添加數據標籤,也能夠對已有的數據標籤進行修改或者刪除,下面將經過C#代碼來實現。html

使用工具:Spire.XLS for .NET pack工具

dll文件獲取及引用:測試

方法1經過官網下載包。下載後,解壓文件,安裝Bin文件夾下的程序。安裝後,將安裝路徑下Bin文件夾下的Spire.Xls.dll文件添加引用至vs項目程序。以下所示:spa

 

 

方法2可經過Nuget下載。code

 

C# 示例

【添加數據標籤】

using Spire.Xls;
using Spire.Xls.Charts;
using System.Drawing;


namespace AddDataLables
{
    class Program
    {
        static void Main(string[] args)
        {
            //加載測試文檔
            Workbook workbook = new Workbook();
            workbook.LoadFromFile("test.xlsx");

            //獲取第一個工做薄以及其中的第一個圖表
            Worksheet sheet = workbook.Worksheets[0];
            Chart chart = sheet.Charts[0];

            //獲取圖表中的指定系列
            ChartSerie serie1 = chart.Series[1];
            //添加數據標籤,並設置數據標籤樣式
            serie1.DataPoints.DefaultDataPoint.DataLabels.HasValue = true;
            serie1.DataPoints.DefaultDataPoint.DataLabels.FrameFormat.Fill.FillType = ShapeFillType.SolidColor;
            serie1.DataPoints.DefaultDataPoint.DataLabels.FrameFormat.Fill.ForeColor = Color.White;
            serie1.DataPoints.DefaultDataPoint.DataLabels.FrameFormat.Border.Pattern = ChartLinePatternType.Solid;
            serie1.DataPoints.DefaultDataPoint.DataLabels.FrameFormat.Border.Color = Color.Green;


            ////使用文檔中其餘單元格的數據自定義datalabel
            //ChartSerie serie2 = chart.Series[2];
            //serie2.DataPoints.DefaultDataPoint.DataLabels.ValueFromCell = sheet.Range["B4:E4"];
            ////添加數據標註
            //serie2.DataPoints.DefaultDataPoint.DataLabels.HasWedgeCallout = true;
           
            //保存文檔
            workbook.SaveToFile("AddDataLable.xlsx");
            System.Diagnostics.Process.Start("AddDataLable.xlsx");
        }
    }
}

數據標籤效果:orm

數據標註效果:htm

 

【編輯/修改數據標籤】

這裏以上面代碼中添加的數據標註爲例,進行修改等操做。blog

using Spire.Xls;
using Spire.Xls.Charts;
using System.Drawing;


namespace ModifyDataLable
{
    class Program
    {
        static void Main(string[] args)
        {
            //加載文檔
            Workbook workbook = new Workbook();
            workbook.LoadFromFile("AddDataLable.xlsx");

            //獲取第一個工做表以及表裏面的第一個圖表
            Worksheet sheet = workbook.Worksheets[0];
            Chart chart = sheet.Charts[0];

            //獲取圖表系列及數據標籤
            ChartSerie chartSeries = chart.Series[2];
            ChartDataLabels cslabel = chartSeries.DataPoints[1].DataLabels;


            cslabel.HasLegendKey = true;//設置顯示圖例項標示
            cslabel.Position = DataLabelPositionType.Center;//設置數據標籤的位置居中

            //自定義數據標籤的位置,默認的原點在圖表左上角;
            cslabel.IsYMode = true;
            cslabel.IsXMode = true;
            cslabel.X = 1100;
            cslabel.Y = 400;

            //設置顯示引導線(任意設置一個DataPoint會對整個系列生效,可是隻有自定義數據標籤位置以後纔會顯示效果)
            cslabel.ShowLeaderLines = true;

            //取消楔形標註(任意設置一個DataPoint會對整個系列生效)
            cslabel.HasWedgeCallout = false;

            //保存
            workbook.SaveToFile("ModifyDatalable.xlsx");
            System.Diagnostics.Process.Start("ModifyDatalable.xlsx");
        }
    }
}

數據標籤修改效果:文檔

 

【刪除數據標籤】

using Spire.Xls;
using Spire.Xls.Charts;

namespace DeleteDataLable
{
    class Program
    {
        static void Main(string[] args)
        {
            //加載文檔
            Workbook workbook = new Workbook();
            workbook.LoadFromFile("AddDataLable.xlsx");

            //獲取第一個工做表以及表裏面的第一個圖表
            Worksheet sheet = workbook.Worksheets[0];
            Chart chart = sheet.Charts[0];

            //刪除全部系列的數據標籤
            for (int i = 0; i < chart.Series.Count; i++)
            {
                ChartSerie chartSeries = chart.Series[i];
                chartSeries.DataPoints.Clear();
            }


            //刪除指定數據系列的數據標籤
            //ChartSerie chartSeries = chart.Series[2];
            //chartSeries.DataPoints.Clear();


            //刪除指定系列中數據標籤的指定值
            //ChartSerie chartSeries = chart.Series[2];
            //ChartDataLabels cslabel = chartSeries.DataPoints[0].DataLabels;
            //cslabel.Text = " ";
            //cslabel.HasLegendKey = false;


            //保存文檔
            workbook.SaveToFile("RemoveDataLable.xlsx");
            System.Diagnostics.Process.Start("RemoveDataLable.xlsx");
        }
    }
}

 

運行程序後可查看數據標籤刪除效果。get

 

(本文完)

相關文章
相關標籤/搜索