Spire.XLS 组件为用户提供了多种图表类型选择,其中涵盖了 Excel 自带的各种图表。这些图表类型被定义在枚举 Spire.Xls.ExcelChartType 中,共有以下 74 种:
| 图表类型 | 描述 | 
| 1. ColumnClustered | Represents Clustered Column Chart | 
| 2. ColumnStacked | Represents Stacked Column Chart | 
| 3. Column100PercentStacked | Represents 100% Stacked Column Chart | 
| 4. Column3DClustered | Represents 3D Clustered Column Chart | 
| 5. Column3DStacked | Represents 3D Stacked Column Chart | 
| 6. Column3D100PercentStacked | Represents 3D 100% Stacked Column Chart | 
| 7. Column3D | Represents 3D Column Chart | 
| 8. BarClustered | Represents Clustered Bar Chart | 
| 9. BarStacked | Represents Stacked Bar Chart | 
| 10. Bar100PercentStacked | Represents 100% Stacked Bar Chart | 
| 11. Bar3DClustered | Represents 3D Clustered Bar Chart | 
| 12. Bar3DStacked | Represents 3D Stacked Bar Chart | 
| 13. Bar3D100PercentStacked | Represents 100% 3D Stacked Bar Chart | 
| 14. Line | Represents Line Chart | 
| 15. LineStacked | Represents Stacked Line Chart | 
| 16. Line100PercentStacked | Represents 100% Stacked Line Chart | 
| 17. LineMarkers | Represents Markers Line Chart | 
| 18. LineMarkersStacked | Represents Stacked Markers Line Chart | 
| 19. LineMarkers100PercentStacked | Represents 100% Stacked Markers Line Chart | 
| 20. Line3D | Represents 3D Line Chart | 
| 21. Pie | Represents Pie Chart | 
| 22. Pie3D = 21 | Represents 3D Pie Chart | 
| 23. PieOfPie | Represents Pie of Pie chart | 
| 24. PieExploded | Represents Exploded Pie Chart | 
| 25. Pie3DExploded | Represents 3D Exploded Pie Chart | 
| 26. PieBar | Represents Bar Pie Chart | 
| 27. ScatterMarkers | Represents Markers Scatter Chart | 
| 28. ScatterSmoothedLineMarkers | Represents ScatterSmoothedLineMarkers Chart | 
| 29. ScatterSmoothedLine | Represents ScatterSmoothedLine Chart | 
| 30. ScatterLineMarkers | Represents ScatterLineMarkers Chart | 
| 31. ScatterLine | Represents ScatterLine Chart | 
| 32. Area | Represents Area Chart | 
| 33. AreaStacked | Represents AreaStacked Chart | 
| 34. Area100PercentStacked | Represents Area100PercentStacked Chart | 
| 35. Area3D | Represents Area3D Chart | 
| 36. Area3DStacked | Represents Area3DStacked Chart | 
| 37. Area3D100PercentStacked | Represents Area3D100PercentStacked Chart | 
| 38. Doughnut | Represents Doughnut Chart | 
| 39. DoughnutExploded | Represents DoughnutExploded Chart | 
| 40. Radar | Represents Radar Chart | 
| 41. RadarMarkers | Represents RadarMarkers Chart | 
| 42. RadarFilled | Represents RadarFilled Chart | 
| 43. Surface3D | Represents Surface3D Chart | 
| 44. Surface3DNoColor | Represents Surface3DNoColor Chart | 
| 45. SurfaceContour | Represents SurfaceContour Chart | 
| 46. SurfaceContourNoColor | Represents SurfaceContourNoColor Chart | 
| 47. Bubble | Represents Bubble Chart | 
| 48. Bubble3D | Represents Bubble3D Chart | 
| 49. StockHighLowClose | Represents StockHighLowClose Chart | 
| 50. StockOpenHighLowClose | Represents StockOpenHighLowClose Chart | 
| 51. StockVolumeHighLowClose | Represents StockVolumeHighLowClose Chart | 
| 52. StockVolumeOpenHighLowClose | Represents StockVolumeOpenHighLowClose Chart | 
| 53. CylinderClustered | Represents CylinderClustered Chart | 
| 54. CylinderStacked | Represents CylinderStacked Chart | 
| 55. Cylinder100PercentStacked | Represents Cylinder100PercentStacked Chart | 
| 56. CylinderBarClustered | Represents CylinderBarClustered Chart | 
| 57. CylinderBarStacked | Represents CylinderBarStacked Chart | 
| 58. CylinderBar100PercentStacked | Represents CylinderBar100PercentStacked Chart | 
| 59. Cylinder3DClustered | Represents Cylinder3DClustered Chart | 
| 60. ConeClustered | Represents ConeClustered Chart | 
| 61. ConeStacked | Represents ConeStacked Chart | 
| 62. Cone100PercentStacked | Represents Cone100PercentStacked Chart | 
| 63. ConeBarClustered | Represents ConeBarClustered Chart | 
| 64. ConeBarStacked | Represents ConeBarStacked Chart | 
| 65. ConeBar100PercentStacked | Represents ConeBar100PercentStacked Chart | 
| 66. Cone3DClustered | Represents Cone3DClustered Chart | 
| 67. PyramidClustered | Represents PyramidClustered Chart | 
| 68. PyramidStacked | Represents PyramidStacked Chart | 
| 69. Pyramid100PercentStacked | Represents Pyramid100PercentStacked Chart | 
| 70. PyramidBarClustered | Represents PyramidBarClustered Chart | 
| 71. PyramidBarStacked | Represents PyramidBarStacked Chart | 
| 72. PyramidBar100PercentStacked | Represents PyramidBar100PercentStacked Chart | 
| 73. Pyramid3DClustered | Represents Pyramid3DClustered Chart | 
| 74. CombinationChart | Represents Combination Chart | 
该节中我们将从以上表格中选取三种常见图表来进行创建:Clustered Column Chart(柱状图),Pie Chart (饼状图)及Doughnut Chart(环形图)。
Clustered Column Chart 柱状图
C#
//加载Excel文档
Workbook workbook = new Workbook();
workbook.LoadFromFile("Sample.xlsx");
//获取工作表
Worksheet sheet = workbook.Worksheets[0];
//设置工作表的名称
sheet.Name = "柱状图";
sheet.GridLinesVisible = false;
//创建柱状图
Chart chart = sheet.Charts.Add(ExcelChartType.ColumnClustered);
//指定用于生成图表的数据区域
chart.DataRange = sheet.Range["A1:B5"];
chart.SeriesDataFromRange = false;
//指定图表所在的位置
chart.LeftColumn = 5;
chart.TopRow = 2;
chart.RightColumn = 15;
chart.BottomRow = 20;
//设置图表的名称以及x、y轴的名称
chart.ChartTitle = "部门信息";
chart.ChartTitleArea.IsBold = true;
chart.ChartTitleArea.Size = 12;
chart.PrimaryCategoryAxis.Title = "部门";
chart.PrimaryCategoryAxis.Font.IsBold = true;
chart.PrimaryCategoryAxis.TitleArea.IsBold = true;
chart.PrimaryValueAxis.Title = "人数";
chart.PrimaryValueAxis.HasMajorGridLines = false;
chart.PrimaryValueAxis.TitleArea.TextRotationAngle = 90;
chart.PrimaryValueAxis.MinValue = 0;
chart.PrimaryValueAxis.TitleArea.IsBold = true;
//5.设置图例的位置
chart.Legend.Position = LegendPositionType.Right;
//保存工作薄
workbook.SaveToFile("ColumnChart.xlsx", ExcelVersion.Version2013);
VB.NET
'加载Excel文档 Dim workbook As New Workbook() workbook.LoadFromFile("Sample.xlsx") '获取工作表
Dim sheet As Worksheet = workbook.Worksheets(0)
'设置工作表的名称 sheet.Name = "柱状图" sheet.GridLinesVisible = False '创建柱状图
Dim chart As Chart = sheet.Charts.Add(ExcelChartType.ColumnClustered)
'指定用于生成图表的数据区域 chart.DataRange = sheet.Range("A1:B5") chart.SeriesDataFromRange = False '指定图表所在的位置
chart.LeftColumn = 5
chart.TopRow = 2
chart.RightColumn = 15
chart.BottomRow = 20
'设置图表的名称以及x、y轴的名称 chart.ChartTitle = "部门信息" chart.ChartTitleArea.IsBold = True chart.ChartTitleArea.Size = 12 chart.PrimaryCategoryAxis.Title = "部门" chart.PrimaryCategoryAxis.Font.IsBold = True chart.PrimaryCategoryAxis.TitleArea.IsBold = True chart.PrimaryValueAxis.Title = "人数" chart.PrimaryValueAxis.HasMajorGridLines = False chart.PrimaryValueAxis.TitleArea.TextRotationAngle = 90 chart.PrimaryValueAxis.MinValue = 0 chart.PrimaryValueAxis.TitleArea.IsBold = True '5.设置图例的位置
chart.Legend.Position = LegendPositionType.Right
'保存工作薄 workbook.SaveToFile("ColumnChart.xlsx",ExcelVersion.Version2013)
Pie Chart 饼状图
C#
//创建工作簿 Workbook workbook = new Workbook();//获取工作表 Worksheet sheet = workbook.Worksheets[0];//设置工作表的名称 sheet.Name = "饼状图";sheet.GridLinesVisible = false;//向工作表添加数据 sheet.Range["A1"].Value = "年份";sheet.Range["A2"].Value = "2002";sheet.Range["A3"].Value = "2003";sheet.Range["A4"].Value = "2004";sheet.Range["A5"].Value = "2005";sheet.Range["B1"].Value = "销售额";sheet.Range["B2"].NumberValue = 4000;sheet.Range["B3"].NumberValue = 6000;sheet.Range["B4"].NumberValue = 7000;sheet.Range["B5"].NumberValue = 8500;sheet.Range["A1:B1"].Style.Font.IsBold = true;sheet.Range["A2:B2"].Style.KnownColor = ExcelColors.LightYellow;sheet.Range["A3:B3"].Style.KnownColor = ExcelColors.LightGreen1;sheet.Range["A4:B4"].Style.KnownColor = ExcelColors.LightOrange;sheet.Range["A5:B5"].Style.KnownColor = ExcelColors.LightTurquoise;sheet.Range["A1:B5"].Style.Borders[BordersLineType.EdgeTop].Color = Color.FromArgb(0,0,128);sheet.Range["A1:B5"].Style.Borders[BordersLineType.EdgeTop].LineStyle = LineStyleType.Thin;sheet.Range["A1:B5"].Style.Borders[BordersLineType.EdgeBottom].Color = Color.FromArgb(0,0,128);sheet.Range["A1:B5"].Style.Borders[BordersLineType.EdgeBottom].LineStyle = LineStyleType.Thin;sheet.Range["A1:B5"].Style.Borders[BordersLineType.EdgeLeft].Color = Color.FromArgb(0,0,128);sheet.Range["A1:B5"].Style.Borders[BordersLineType.EdgeLeft].LineStyle = LineStyleType.Thin;sheet.Range["A1:B5"].Style.Borders[BordersLineType.EdgeRight].Color = Color.FromArgb(0,0,128);sheet.Range["A1:B5"].Style.Borders[BordersLineType.EdgeRight].LineStyle = LineStyleType.Thin;sheet.Range["B2:C5"].Style.NumberFormat = "\"$\"#,##0";//创建饼状图表 Chart chart = sheet.Charts.Add(ExcelChartType.Pie);//指定用于生成图表的数据区域 chart.DataRange = sheet.Range["B2:B5"];chart.SeriesDataFromRange = false;//指定图表所在位置 chart.LeftColumn = 1;chart.TopRow = 7;chart.RightColumn = 9;chart.BottomRow = 26;//设置图表的名称 chart.ChartTitle = "年销售额";chart.ChartTitleArea.IsBold = true;chart.ChartTitleArea.Size = 12;//设置图表系列的值 Spire.Xls.Charts.ChartSerie cs = chart.Series[0];cs.CategoryLabels = sheet.Range["A2:A5"];cs.Values = sheet.Range["B2:B5"];cs.DataPoints.DefaultDataPoint.DataLabels.HasValue = true;chart.PlotArea.Fill.Visible = false;//保存工作薄 workbook.SaveToFile("PieChart.xls");VB.NET
'创建工作簿
Dim workbook As New Workbook()
'获取工作表 Dim sheet As Worksheet = workbook.Worksheets(0) '设置工作表的名称
sheet.Name = "饼状图"
sheet.GridLinesVisible = False
'向工作表添加数据 sheet.Range("A1").Value = "年份" sheet.Range("A2").Value = "2002" sheet.Range("A3").Value = "2003" sheet.Range("A4").Value = "2004" sheet.Range("A5").Value = "2005" sheet.Range("B1").Value = "销售额" sheet.Range("B2").NumberValue = 4000 sheet.Range("B3").NumberValue = 6000 sheet.Range("B4").NumberValue = 7000 sheet.Range("B5").NumberValue = 8500 sheet.Range("A1:B1").Style.Font.IsBold = True sheet.Range("A2:B2").Style.KnownColor = ExcelColors.LightYellow sheet.Range("A3:B3").Style.KnownColor = ExcelColors.LightGreen1 sheet.Range("A4:B4").Style.KnownColor = ExcelColors.LightOrange sheet.Range("A5:B5").Style.KnownColor = ExcelColors.LightTurquoise sheet.Range("A1:B5").Style.Borders(BordersLineType.EdgeTop).Color = Color.FromArgb(0,0,128) sheet.Range("A1:B5").Style.Borders(BordersLineType.EdgeTop).LineStyle = LineStyleType.Thin sheet.Range("A1:B5").Style.Borders(BordersLineType.EdgeBottom).Color = Color.FromArgb(0,0,128) sheet.Range("A1:B5").Style.Borders(BordersLineType.EdgeBottom).LineStyle = LineStyleType.Thin sheet.Range("A1:B5").Style.Borders(BordersLineType.EdgeLeft).Color = Color.FromArgb(0,0,128) sheet.Range("A1:B5").Style.Borders(BordersLineType.EdgeLeft).LineStyle = LineStyleType.Thin sheet.Range("A1:B5").Style.Borders(BordersLineType.EdgeRight).Color = Color.FromArgb(0,0,128) sheet.Range("A1:B5").Style.Borders(BordersLineType.EdgeRight).LineStyle = LineStyleType.Thin sheet.Range("B2:C5").Style.NumberFormat = """$""#,##0" '创建饼状图表
Dim chart As Chart = sheet.Charts.Add(ExcelChartType.Pie)
'指定用于生成图表的数据区域 chart.DataRange = sheet.Range("B2:B5") chart.SeriesDataFromRange = False '指定图表所在位置
chart.LeftColumn = 1
chart.TopRow = 7
chart.RightColumn = 9
chart.BottomRow = 26
'设置图表的名称 chart.ChartTitle = "年销售额" chart.ChartTitleArea.IsBold = True chart.ChartTitleArea.Size = 12 '设置图表系列的值
Dim cs As Spire.Xls.Charts.ChartSerie = chart.Series(0)
cs.CategoryLabels = sheet.Range("A2:A5")
cs.Values = sheet.Range("B2:B5")
cs.DataPoints.DefaultDataPoint.DataLabels.HasValue = True
chart.PlotArea.Fill.Visible = False
'保存工作薄 workbook.SaveToFile("PieChart.xls")
Doughnut Chart 环形图
C#
//创建工作薄 Workbook workbook = new Workbook();workbook.Version = ExcelVersion.Version2013;//获取工作表 Worksheet sheet = workbook.Worksheets[0];sheet.GridLinesVisible = false;//向工作表添加数据 sheet.Range["A1"].Value = "国家";sheet.Range["A1"].Style.Font.IsBold = true;sheet.Range["A2"].Value = "古巴";sheet.Range["A3"].Value = "墨西哥";sheet.Range["A4"].Value = "法国";sheet.Range["A5"].Value = "德国";sheet.Range["B1"].Value = "销售额";sheet.Range["B1"].Style.Font.IsBold = true;sheet.Range["B2"].NumberValue = 6000;sheet.Range["B3"].NumberValue = 8000;sheet.Range["B4"].NumberValue = 9000;sheet.Range["B5"].NumberValue = 8500;//创建环形图 Chart chart = sheet.Charts.Add();chart.ChartType = ExcelChartType.Doughnut;//指定用于生成图表的数据区域 chart.DataRange = sheet.Range["A1:B5"];chart.SeriesDataFromRange = false;//指定图表的位置 chart.LeftColumn = 4;chart.TopRow = 2;chart.RightColumn = 12;chart.BottomRow = 22;//设置图表的名称 chart.ChartTitle = "销售额百分比";chart.ChartTitleArea.IsBold = true;chart.ChartTitleArea.Size = 10;//设置图表系列的值 foreach (ChartSerie cs in chart.Series){cs.DataPoints.DefaultDataPoint.DataLabels.HasPercentage = true;}//设置图例的位置 chart.Legend.Position = LegendPositionType.Top;//保存工作薄 workbook.SaveToFile("DoughnutChart.xlsx");VB.NET
'创建工作薄
Dim workbook As New Workbook()
workbook.Version = ExcelVersion.Version2013
'获取工作表 Dim sheet As Worksheet = workbook.Worksheets(0) sheet.GridLinesVisible = False '向工作表添加数据
sheet.Range("A1").Value = "国家"
sheet.Range("A1").Style.Font.IsBold = True
sheet.Range("A2").Value = "古巴"
sheet.Range("A3").Value = "墨西哥"
sheet.Range("A4").Value = "法国"
sheet.Range("A5").Value = "德国"
sheet.Range("B1").Value = "销售额"
sheet.Range("B1").Style.Font.IsBold = True
sheet.Range("B2").NumberValue = 6000
sheet.Range("B3").NumberValue = 8000
sheet.Range("B4").NumberValue = 9000
sheet.Range("B5").NumberValue = 8500
'创建环形图 Dim chart As Chart = sheet.Charts.Add() chart.ChartType = ExcelChartType.Doughnut '指定用于生成图表的数据区域
chart.DataRange = sheet.Range("A1:B5")
chart.SeriesDataFromRange = False
'指定图表的位置 chart.LeftColumn = 4 chart.TopRow = 2 chart.RightColumn = 12 chart.BottomRow = 22 '设置图表的名称
chart.ChartTitle = "销售额百分比"
chart.ChartTitleArea.IsBold = True
chart.ChartTitleArea.Size = 10
'设置图表系列的值 For Each cs As ChartSerie In chart.Series cs.DataPoints.DefaultDataPoint.DataLabels.HasPercentage = True Next '设置图例的位置
chart.Legend.Position = LegendPositionType.Top
'保存工作薄 workbook.SaveToFile("DoughnutChart.xlsx")
 



 
					



