使用Aspose.Slides 控件,使用 Java 在 PowerPoint 中创建条形图
创建具有视觉吸引力的演示文稿对于有效沟通至关重要,而图表是清晰呈现数据的强大工具。因此,使用 Java在PowerPoint中创建条形图可让开发人员自动执行此过程,从而节省时间并确保一致性。但是,在这篇博文中,我们将探讨如何使用Aspose.Slides for Java以编程方式在 PowerPoint 演示文稿中生成条形图。
Aspose.Slides 是一款 PowerPoint管理API,用于读取,编写,操作和转换PowerPoint幻灯片的独立API,可将PowerPoint转换为PDF,PDF/A,XPS,TIFF,HTML,ODP和其他PowerPoint格式。Aspose API支持流行文件格式处理,并允许将各类文档导出或转换为固定布局文件格式和最常用的图像/多媒体格式。(qun:666790229)
条形图生成器 API 安装
首先,您需要安装可在 PowerPoint 中创建条形图的库。因此,本分步指南将引导您完成整个过程。
因此,您可以在 pom.xml 文件中包含以下依赖项。
<repository> <id>AsposeJavaAPI</id> <name>Aspose Java API</name> <url>https://repository.aspose.com/repo/</url> </repository> <dependency> <groupId>com.aspose</groupId> <artifactId>aspose-slides</artifactId> <version>24.4</version> <classifier>jdk16</classifier> </dependency>
另一个选项是下载JAR文件。事实上,Aspose.Slides for Java 提供了全面的安装说明和创建和操作 PPTX/PPT 文件的功能。
使用 Java 在 PowerPoint 中创建条形图 - 代码片段
现在,让我们深入研究代码,以编程方式使用 Java 在 PowerPoint 中创建条形图。
步骤如下:
- 实例化代表 PPTX 文件的演示类。
- 通过调用get_Item方法访问第一张幻灯片。
- 通过调用addChart方法添加具有默认数据的条形图。
- 通过调用getChartDataWorkbook方法获取图表数据工作表。
- 调用 add 方法添加新系列。
- 现在通过调用addDataPointForBarSeries方法填充系列数据。
- 调用setFillType方法来设置系列的填充颜色。
- 保存方法将以条形图的形式保存演示文稿。
以下代码示例演示了如何使用此条形图生成器API在 PowerPoint 中创建条形图:
 public class main
{
public static void main(String[] args)
{
// The path to the documents directory.
String dataDir = "/Desktop/";
// Create directory if it is not already present.
boolean IsExists = new File(dataDir).exists();
if (!IsExists)
new File(dataDir).mkdirs();
// Instantiate Presentation class that represents PPTX file.
Presentation pres = new Presentation();
// Access first slide by calling the get_Item method.
ISlide sld = pres.getSlides().get_Item(0);
// Add a bar chart with default data by calling the addChart method.
IChart chart = sld.getShapes().addChart(ChartType.ClusteredColumn, 0, 0, 500, 500);
// Set the chart title with the custom size and placement.
chart.getChartTitle().addTextFrameForOverriding("Sample Title");
chart.getChartTitle().getTextFrameForOverriding().getTextFrameFormat().setCenterText(NullableBool.True);
chart.getChartTitle().setHeight(20);
chart.setTitle(true);
// Set first series to Show Values.
chart.getChartData().getSeries().get_Item(0).getLabels().getDefaultDataLabelFormat().setShowValue(true);
// Setting the index of chart data sheet
int defaultWorksheetIndex = 0;
// Get the chart data worksheet by calling the getChartDataWorkbook method.
IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
// Delete default generated series and categories
chart.getChartData().getSeries().clear();
chart.getChartData().getCategories().clear();
int s = chart.getChartData().getSeries().size();
s = chart.getChartData().getCategories().size();
// Call add method to add new series.
chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 1, "Series 1"), chart.getType());
chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 2, "Series 2"), chart.getType());
// Adding new categories
chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 1, 0, "Caetegoty 1"));
chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 2, 0, "Caetegoty 2"));
chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 3, 0, "Caetegoty 3"));
// Take first chart series
IChartSeries series = chart.getChartData().getSeries().get_Item(0);
// Now populating series data by calling the addDataPointForBarSeries method.
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 1, 1, 20));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 2, 1, 50));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 3, 1, 30));
// Invoke the setFillType method to set the fill color for series.
series.getFormat().getFill().setFillType(FillType.Solid);
// Take second chart series
series = chart.getChartData().getSeries().get_Item(1);
// Now populating series data
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 1, 2, 30));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 2, 2, 10));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 3, 2, 60));
// Setting fill color for series
series.getFormat().getFill().setFillType(FillType.Solid);
// series.getFormat().getFill().getSolidFillColor().setColor(Color.GREEN);
// First label will be show Category name
IDataLabel lbl = series.getDataPoints().get_Item(0).getLabel();
lbl.getDataLabelFormat().setShowCategoryName(true);
lbl = series.getDataPoints().get_Item(1).getLabel();
lbl.getDataLabelFormat().setShowSeriesName(true);
// Show value for third label
lbl = series.getDataPoints().get_Item(2).getLabel();
lbl.getDataLabelFormat().setShowValue(true);
lbl.getDataLabelFormat().setShowSeriesName(true);
lbl.getDataLabelFormat().setSeparator("/");
// The save method will save the presentation with bar chart.
pres.save(dataDir + "AsposeChart_out.pptx", SaveFormat.Pptx);
}
}
 
 
输出:

使用 Java 在 PowerPoint 中创建条形图的过程非常简单,只需使用Aspose.Slides for Java即可。此 Java API 不仅节省时间,还能提高演示文稿的质量。无论您是希望自动化工作流程的开发人员,还是只想在幻灯片中添加动态图表,此解决方案都既高效又有效。
