圖表中,圖表數據標籤以數據化形式表現圖表中的特定數據,可加強圖表的可讀性。咱們能夠對圖表添加數據標籤,也能夠對已有的數據標籤進行修改或者刪除,下面將經過C#代碼來實現。html
使用工具:Spire.XLS for .NET pack工具
dll文件獲取及引用:測試
方法1:經過官網下載包。下載後,解壓文件,安裝Bin文件夾下的程序。安裝後,將安裝路徑下Bin文件夾下的Spire.Xls.dll文件添加引用至vs項目程序。以下所示:spa
方法2:可經過Nuget下載。code
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
(本文完)