• <menu id="w2i4a"></menu>
  • logo Spire.XLS 系列教程

    文檔首頁>>Spire.XLS 系列教程>>Spire.XLS 圖表系列教程:C# Excel 自定義數(shù)據(jù)標(biāo)簽

    Spire.XLS 圖表系列教程:C# Excel 自定義數(shù)據(jù)標(biāo)簽


    Spire.XLS是一款專業(yè)的Excel控件,無需安裝微軟Excel,也能擁有Excel的全套功能,能夠?yàn)楣S智能化提供完善的Excel需求。

    下載Spire.XLS最新試用版

    之前介紹過如何設(shè)置現(xiàn)有Excel圖表的數(shù)據(jù)標(biāo)簽樣式,今天本文將著重介紹如何使用Spire.XLS來自定義數(shù)據(jù)標(biāo)簽以及更改現(xiàn)有Excel文檔中數(shù)據(jù)標(biāo)簽的一些其他設(shè)置,比如內(nèi)容,位置等。

    使用工作表里面其他單元格的數(shù)據(jù)自定義數(shù)據(jù)標(biāo)簽

    代碼如下:

    //實(shí)例化一個(gè)Workbook對象并聲明版本
    Workbook wb = new Workbook();
    wb.Version = ExcelVersion.Version2010;
    //獲取第一個(gè)工作簿
    Worksheet ws = wb.Worksheets[0];
    
    //在工作薄中加入數(shù)據(jù)
    ws.Range["A1"].Style.Font.IsBold = true;
    ws.Range["B1"].Style.Font.IsBold = true;
    ws.Range["C1"].Style.Font.IsBold = true;
    ws.Range["A1"].Text = "月份";
    ws.Range["A2"].Text = "一月";
    ws.Range["A3"].Text = "二月";
    ws.Range["A4"].Text = "三月";
    ws.Range["A5"].Text = "四月";
    ws.Range["B1"].Text = "支出";
    ws.Range["B2"].NumberValue = 251;
    ws.Range["B3"].NumberValue = 515;
    ws.Range["B4"].NumberValue = 454;
    ws.Range["B5"].NumberValue = 874;
    ws.Range["C1"].Text = "自定義DataLabel";
    ws.Range["C2"].Text = "自定義DataLabel1";
    ws.Range["C3"].Text = "自定義DataLabel2";
    ws.Range["C4"].Text = "自定義DataLabel3";
    ws.Range["C5"].Text = "自定義DataLabel4";
    //設(shè)置表格列寬
    ws.SetColumnWidth(3, 20);
    Chart chart = ws.Charts.Add(ExcelChartType.ColumnClustered);
    chart.DataRange = ws.Range["A1:B5"];
    
    //指定系列
    chart.SeriesDataFromRange = false;
    chart.PrimaryValueAxis.HasMajorGridLines = false;
    
    //設(shè)置圖表的位置
    chart.LeftColumn = 4;
    chart.TopRow = 2;
    chart.RightColumn = 11;
    chart.BottomRow = 19;
    
    //使用文檔中其他單元格的數(shù)據(jù)自定義datalabel
    chart.Series[0].DataPoints.DefaultDataPoint.DataLabels.ValueFromCell = ws.Range["C2:C5"];
    
    //為數(shù)據(jù)標(biāo)簽設(shè)置楔形標(biāo)注
    chart.Series[0].DataPoints.DefaultDataPoint.DataLabels.HasWedgeCallout = true;
    //保存文檔到本地并打開
    wb.SaveToFile("自定義數(shù)據(jù)標(biāo)簽.xlsx", ExcelVersion.Version2010);
    System.Diagnostics.Process.Start("自定義數(shù)據(jù)標(biāo)簽.xlsx");

     

    效果圖如下:

    custom-datalabel-1

    更改現(xiàn)有文檔中數(shù)據(jù)標(biāo)簽的設(shè)置

    代碼如下:

    //加載剛剛得到的文檔
     Workbook workbook = new Workbook();
     workbook.LoadFromFile("自定義數(shù)據(jù)標(biāo)簽.xlsx");
    
     //獲取第一個(gè)工作表以及表里面的第一個(gè)圖表
     Worksheet sheet = workbook.Worksheets[0];
     Chart chart = sheet.Charts[0];
    
     //獲取該圖表的第一個(gè)系列
     ChartSerie chartSeries = chart.Series[0];
    
     //獲取該系列的第一個(gè)DataPoint的數(shù)據(jù)標(biāo)簽
     ChartDataLabels cslabel = chartSeries.DataPoints[0].DataLabels;
    
     //修改數(shù)據(jù)標(biāo)簽內(nèi)容并把設(shè)置內(nèi)容文字的字體和顏色
     cslabel.Text = "已更改";
     cslabel.FontName = "楷體";
     cslabel.Color = Color.Red;
    
     //設(shè)置顯示圖例項(xiàng)標(biāo)示
     cslabel.HasLegendKey = true;
    
     //設(shè)置數(shù)據(jù)標(biāo)簽的位置居中
     //cslabel.Position = DataLabelPositionType.Center;
     
     //自定義數(shù)據(jù)標(biāo)簽的位置,默認(rèn)的原點(diǎn)在圖表左上角
     cslabel.IsYMode = true;
     cslabel.IsXMode = true;
     cslabel.Y =1200;
     cslabel.X = 600;
    
     //設(shè)置顯示引導(dǎo)線(任意設(shè)置一個(gè)DataPoint會對整個(gè)系列生效,
     //但是只有自定義數(shù)據(jù)標(biāo)簽位置之后才會顯示效果)
     cslabel.ShowLeaderLines = true;
    
     //取消楔形標(biāo)注(任意設(shè)置一個(gè)DataPoint會對整個(gè)系列生效)
     cslabel.HasWedgeCallout = false;
    
     //保存到本地并打開
     workbook.SaveToFile("更改數(shù)據(jù)標(biāo)簽設(shè)置.xlsx");
     System.Diagnostics.Process.Start("更改數(shù)據(jù)標(biāo)簽設(shè)置.xlsx");

     

    效果圖如下:

    custom-datalabel-2


    想要購買正版授權(quán),或者獲取更多Spire.XLS相關(guān)信息的朋友可以點(diǎn)擊" 咨詢在線客服 "~
    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();