图表用于汇总和直观表示PowerPoint演示文稿中的数据。因此,PowerPoint提供了多种图表类型以可视化数据。其中,最常用的图表类型包括饼图,折线图,条形图,直方图,股票图等。在本文中,将学习如何使用C#在PowerPoint演示文稿中创建这些流行的图表类型。
- 使用C#在PowerPoint中创建柱形图
- 使用C#在PowerPoint中创建散点图
- 使用C#在PowerPoint中添加饼图
- 使用C#在PowerPoint中添加直方图
- 使用C#在PowerPoint中创建股票图表
Aspose.Slides for .NET是一个C#类库,可让您从.NET应用程序中创建和处理PowerPoint演示文稿。此外,API允许您无缝创建图表并将其添加到演示文稿中。
>>你可以点击这里下载Aspose.Slides v21.1测试体验。
使用C#在PowerPoint演示文稿中创建柱形图
在本节中,将学习如何创建柱形图以及如何添加类别和系列以填充该图。以下是执行此操作的步骤。
- 首先,创建Presentation 类的实例 。
- 在ISlide对象中获取幻灯片的引用。
- 添加具有默认数据的ClusteredColumn图表,并在IChart对象中获取其引用。
- 使用IChart.ChartTitle.AddTextFrameForOverriding(String)方法设置图表标题并设置其属性。
- 将图表数据工作簿访问到IChartDataWorkbook对象中。
- 分别使用IChart.ChartData.Series.Clear()和IChart.ChartData.Categories.Clear()方法从图表数据中清除所有默认系列和类别。
- 添加新的系列和类别。
- 将每个图表系列访问到IChartSeries对象中,并向其添加数据点。
- 为图表系列添加填充颜色并设置标签。
- 最后,使用Presentation.Save(String,SaveFormat)方法保存演示文稿。
为了演示,下面的代码示例演示如何使用C#在PowerPoint演示文稿中创建柱形图。
// Instantiate Presentation class that represents PPTX file Presentation pres = new Presentation(); // Access first slide ISlide sld = pres.Slides[0]; // Add chart with default data IChart chart = sld.Shapes.AddChart(ChartType.ClusteredColumn, 0, 0, 500, 500); // Setting chart Title chart.ChartTitle.AddTextFrameForOverriding("Sample Title"); chart.ChartTitle.TextFrameForOverriding.TextFrameFormat.CenterText = NullableBool.True; chart.ChartTitle.Height = 20; chart.HasTitle = true; // Set first series to Show Values chart.ChartData.Series[0].Labels.DefaultDataLabelFormat.ShowValue = true; // Setting the index of chart data sheet int defaultWorksheetIndex = 0; // Getting the chart data worksheet IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook; // Delete default generated series and categories chart.ChartData.Series.Clear(); chart.ChartData.Categories.Clear(); int s = chart.ChartData.Series.Count; s = chart.ChartData.Categories.Count; // Adding new series chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 0, 1, "Series 1"), chart.Type); chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 0, 2, "Series 2"), chart.Type); // Adding new categories chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 1, 0, "Caetegoty 1")); chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 2, 0, "Caetegoty 2")); chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 3, 0, "Caetegoty 3")); // Take first chart series IChartSeries series = chart.ChartData.Series[0]; // Now populating series data series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 1, 1, 20)); series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 2, 1, 50)); series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 3, 1, 30)); // Setting fill color for series series.Format.Fill.FillType = FillType.Solid; series.Format.Fill.SolidFillColor.Color = System.Drawing.Color.Blue; // Take second chart series series = chart.ChartData.Series[1]; // Now populating series data series.DataPoin