文档半岛外围网上直营>>Spire.XLS 系列教程>>Spire.XLS 图表系列教程:C# Excel 自定义数据标签
Spire.XLS 图表系列教程:C# Excel 自定义数据标签
Spire.XLS是一款专业的Excel控件,无需安装微软Excel,也能拥有Excel的全套功能,能够为工厂智能化提供完善的Excel需求。
之前介绍过如何设置现有Excel图表的数据标签样式,今天本文将着重介绍如何使用Spire.XLS来自定义数据标签以及更改现有Excel文档中数据标签的一些其他设置,比如内容,位置等。
使用工作表里面其他单元格的数据自定义数据标签
代码如下:
//实例化一个Workbook对象并声明版本
Workbook wb = new Workbook();
wb.Version = ExcelVersion.Version2010;
//获取第一个工作簿
Worksheet ws = wb.Worksheets[0];
//在工作薄中加入数据
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";
//设置表格列宽
ws.SetColumnWidth(3, 20);
Chart chart = ws.Charts.Add(ExcelChartType.ColumnClustered);
chart.DataRange = ws.Range["A1:B5"];
//指定系列
chart.SeriesDataFromRange = false;
chart.PrimaryValueAxis.HasMajorGridLines = false;
//设置图表的位置
chart.LeftColumn = 4;
chart.TopRow = 2;
chart.RightColumn = 11;
chart.BottomRow = 19;
//使用文档中其他单元格的数据自定义datalabel
chart.Series[0].DataPoints.DefaultDataPoint.DataLabels.ValueFromCell = ws.Range["C2:C5"];
//为数据标签设置楔形标注
chart.Series[0].DataPoints.DefaultDataPoint.DataLabels.HasWedgeCallout = true;
//保存文档到本地并打开
wb.SaveToFile("自定义数据标签.xlsx", ExcelVersion.Version2010);
System.Diagnostics.Process.Start("自定义数据标签.xlsx");
效果图如下:

更改现有文档中数据标签的设置
代码如下:
//加载刚刚得到的文档
Workbook workbook = new Workbook();
workbook.LoadFromFile("自定义数据标签.xlsx");
//获取第一个工作表以及表里面的第一个图表
Worksheet sheet = workbook.Worksheets[0];
Chart chart = sheet.Charts[0];
//获取该图表的第一个系列
ChartSerie chartSeries = chart.Series[0];
//获取该系列的第一个DataPoint的数据标签
ChartDataLabels cslabel = chartSeries.DataPoints[0].DataLabels;
//修改数据标签内容并把设置内容文字的字体和颜色
cslabel.Text = "已更改";
cslabel.FontName = "楷体";
cslabel.Color = Color.Red;
//设置显示图例项标示
cslabel.HasLegendKey = true;
//设置数据标签的位置居中
//cslabel.Position = DataLabelPositionType.Center;
//自定义数据标签的位置,默认的原点在图表左上角
cslabel.IsYMode = true;
cslabel.IsXMode = true;
cslabel.Y =1200;
cslabel.X = 600;
//设置显示引导线(任意设置一个DataPoint会对整个系列生效,
//但是只有自定义数据标签位置之后才会显示效果)
cslabel.ShowLeaderLines = true;
//取消楔形标注(任意设置一个DataPoint会对整个系列生效)
cslabel.HasWedgeCallout = false;
//保存到本地并打开
workbook.SaveToFile("更改数据标签设置.xlsx");
System.Diagnostics.Process.Start("更改数据标签设置.xlsx");
效果图如下:


QQ交谈
在线咨询

渝公网安备
50010702500608号

客服热线