Excel中图表的数据标签不仅可以增强图表的可读性,还可以增强图表的数据化形式。使用Spire.XLS, 开发人员可以通过简短的代码设置数据标签的样式,例如标签的填充,阴影,边框样式等等。接下来本文将对此作详细的介绍。
首先,这是我们准备的工作表,其中有一个图表,可以看到图表上的数据标签是没有任何样式的。
C#
//实例化Workbook对象
Workbook workbook = new Workbook();
//加载文档
workbook.LoadFromFile(@"测试文档.xlsx");
//获取第一个工作薄以及其中的第一个图表
Worksheet sheet = workbook.Worksheets[0];
Chart chart = sheet.Charts[0];
//获取图表的第一个系列
ChartSerie serie = chart.Series[0];
for (int i = 0; i < 12;i++ )
{
//设置粉红色填充
serie.DataPoints[i].DataLabels.FrameFormat.Fill.FillType = ShapeFillType.SolidColor;
serie.DataPoints[i].DataLabels.FrameFormat.Fill.ForeColor = Color.Pink;
//设置红色边框
serie.DataPoints[i].DataLabels.FrameFormat.Border.Pattern = ChartLinePatternType.Solid;
serie.DataPoints[i].DataLabels.FrameFormat.Border.Color = Color.Red;
//设置黄色阴影
serie.DataPoints[i].DataLabels.FrameFormat.Shadow.ShadowOuterType = XLSXChartShadowOuterType.OffsetDiagonalBottomLeft;
serie.DataPoints[i].DataLabels.FrameFormat.Shadow.Color = System.Drawing.Color.Yellow;
serie.DataPoints[i].DataLabels.FrameFormat.Shadow.Transparency = 0;
serie.DataPoints[i].DataLabels.FrameFormat.Shadow.Size = 5;
serie.DataPoints[i].DataLabels.FrameFormat.Shadow.Blur =2;
serie.DataPoints[i].DataLabels.FrameFormat.Shadow.Angle = 45;
serie.DataPoints[i].DataLabels.TextArea.FrameFormat.Shadow.Distance = 8;
}
workbook.SaveToFile("结果文档.xlsx");
VB.NET
'实例化Workbook对象
Dim workbook As New Workbook()
'加载文档
workbook.LoadFromFile("测试文档.xlsx")
'获取第一个工作薄以及其中的第一个图表
Dim sheet As Worksheet = workbook.Worksheets(0)
Dim chart As Chart = sheet.Charts(0)
'获取图表的第一个系列
Dim serie As ChartSerie = chart.Series(0)
For i As Integer = 0 To 11
'设置粉红色填充
serie.DataPoints(i).DataLabels.FrameFormat.Fill.FillType = ShapeFillType.SolidColor
serie.DataPoints(i).DataLabels.FrameFormat.Fill.ForeColor = Color.Pink
'设置红色边框
serie.DataPoints(i).DataLabels.FrameFormat.Border.Pattern = ChartLinePatternType.Solid
serie.DataPoints(i).DataLabels.FrameFormat.Border.Color = Color.Red
'设置黄色阴影
serie.DataPoints(i).DataLabels.FrameFormat.Shadow.ShadowOuterType = XLSXChartShadowOuterType.OffsetDiagonalBottomLeft
serie.DataPoints(i).DataLabels.FrameFormat.Shadow.Color = System.Drawing.Color.Yellow
serie.DataPoints(i).DataLabels.FrameFormat.Shadow.Transparency = 0
serie.DataPoints(i).DataLabels.FrameFormat.Shadow.Size = 5
serie.DataPoints(i).DataLabels.FrameFormat.Shadow.Blur = 2
serie.DataPoints(i).DataLabels.FrameFormat.Shadow.Angle = 45
serie.DataPoints(i).DataLabels.TextArea.FrameFormat.Shadow.Distance = 8
Next
workbook.SaveToFile("结果文档.xlsx")
效果如下: