文档彩票走势图>>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");
效果图如下: