彩票走势图

PPT处理控件Aspose.Slides功能演示:使用 Java 在 PowerPoint 中创建和操作表格

翻译|使用教程|编辑:张莹心|2021-10-08 10:42:50.283|阅读 86 次

概述:表格用于以行和列的形式很好地组织数据。此外,它们汇总了要查看和分析的数据。MS PowerPoint 还允许演示者在演示文稿中创建表格。因此,在本文中,您将学习如何使用 Java 在 PowerPoint 演示文稿中创建和操作表格。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

表格用于以行和列的形式很好地组织数据。此外,它们汇总了要查看和分析的数据。MS PowerPoint 还允许演示者在演示文稿中创建表格。因此,在本文中,您将学习如何使用 Java 在 PowerPoint 演示文稿中创建和操作表格。

  • 在 PowerPoint 中创建和操作表格的 Java API
  • 在 PowerPoint 演示文稿中创建表格
  • 使用 Java 访问演示文稿中的表格
  • 在 PowerPoint 表格中设置文本格式

为了在 PowerPoint 演示使用 Java 在 PowerPoint 中创建和操作表格,我们将使用Aspose.Slides for Java,它是一个强大且功能丰富的 API,用于在 Java 应用程序中创建和操作演示文稿。

>>你可以点击这里下载Aspose.Slides 最新版测试体验。

锁定表格的纵横比

在 PowerPoint 中创建和操作表格的 Java API

为了在 PowerPoint 演示文稿中创建和操作表格,我们将使用Aspose.Slides for Java。该 API 旨在创建、操作和转换 PowerPoint 和 OpenOffice 演示文稿。您可以下载API 的 JAR 或使用以下 Maven 配置进行安装。

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>//repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-slides</artifactId>
    <version>21.8</version>
    <classifier>jdk16</classifier>
</dependency>

使用 Java 在 PowerPoint 演示文稿中创建表格

使用 Aspose.Slides for Java 创建表格就像馅饼一样简单。以下步骤演示了如何使用 Java 从头开始在 PowerPoint 演示文稿中创建表格。

  1. 首先,使用Presentation 类创建一个新的演示文稿或加载一个现有的 演示文稿。
  2. 然后,将所需幻灯片的引用引用到 ISlide 对象中。
  3. 在double[]数组中分别定义列和行的宽度和高度。
  4. 使用ISlide.getShapes().addTable(float, float, double[], double[])方法在演示文稿中插入一个新表格。
  5. 获取ITable对象中新创建的表的引用。
  6. 创建一个循环来遍历表的行。
  7. 创建嵌套循环以遍历表的单元格,并在每次迭代中执行以下操作。
    使用ITable.getRows().get_Item(rowIndex).get_Item(cellIndex).getTextFrame().setText(String)方法设置单元格的文本。
    将单元格格式的引用获取到ICellFormat对象中。
    如果需要,设置单元格的边框样式。
  8. 最后,使用Presentation.save(String, SaveFormat)方法保存演示文稿。

以下代码示例展示了如何在 PowerPoint 演示文稿中创建表格。

// Create or load presentation
Presentation pres = new Presentation();
try {
	// Access first slide
	ISlide sld = pres.getSlides().get_Item(0);

	// Define columns with widths and rows with heights
	double[] dblCols = { 50, 50, 50 };
	double[] dblRows = { 50, 30, 30, 30, 30 };

	// Add table shape to slide
	ITable tbl = sld.getShapes().addTable(100, 50, dblCols, dblRows);

	// Set text and border format for each cell
	for (int row = 0; row < tbl.getRows().size(); row++) {
		for (int cell = 0; cell < tbl.getRows().get_Item(row).size(); cell++) {

			// Set text
			tbl.getRows().get_Item(row).get_Item(cell).getTextFrame().setText("Cell_" + cell);
			
			// Set border
			ICellFormat cellFormat = tbl.getRows().get_Item(row).get_Item(cell).getCellFormat();
			cellFormat.getBorderTop().getFillFormat().setFillType(FillType.Solid);
			cellFormat.getBorderTop().getFillFormat().getSolidFillColor().setColor(Color.RED);
			cellFormat.getBorderTop().setWidth(5);

			cellFormat.getBorderBottom().getFillFormat().setFillType(FillType.Solid);
			cellFormat.getBorderBottom().getFillFormat().getSolidFillColor().setColor(Color.RED);
			cellFormat.getBorderBottom().setWidth(5);

			cellFormat.getBorderLeft().getFillFormat().setFillType(FillType.Solid);
			cellFormat.getBorderLeft().getFillFormat().getSolidFillColor().setColor(Color.RED);
			cellFormat.getBorderLeft().setWidth(5);

			cellFormat.getBorderRight().getFillFormat().setFillType(FillType.Solid);
			cellFormat.getBorderRight().getFillFormat().getSolidFillColor().setColor(Color.RED);
			cellFormat.getBorderRight().setWidth(5);
		}
	}
	
	// Save PPTX to Disk
	pres.save("table.pptx", SaveFormat.Pptx);
} finally {
	if (pres != null)
		pres.dispose();
}

以下屏幕截图显示了我们使用上述代码创建的表。

使用 Java 访问演示文稿中的表格

您还可以访问现有 PowerPoint 演示文稿中的表格并根据需要对其进行操作。以下是访问演示文稿中表格的步骤。

  • 首先,使用Presentation 类加载现有的演示 文稿。
  • 然后,将所需幻灯片的引用引用到 ISlide 对象中。
  • 创建一个ITable的实例并用 null 初始化它。
  • 迭代通过所有IShape的在对象ISlide.getShapes()集合。
  • 过滤ITable类型的形状。
  • 将形状转换为ITable并根据需要对其进行操作。
  • 最后,使用Presentation.save(String, SaveFormat)方法保存演示文稿。

以下代码示例展示了如何使用 Java 访问 PowerPoint 演示文稿中的表格。

// Create or load presentation
Presentation pres = new Presentation("UpdateExistingTable.pptx");
try {
    // Access the first slide
    ISlide sld = pres.getSlides().get_Item(0);

    // Initialize ITable
    ITable tbl = null;

    // Iterate through the shapes and get a reference to the table found
    for (IShape shp : sld.getShapes()) 
    {
        if (shp instanceof ITable) 
        {
            tbl = (ITable) shp;
            // Set the text of the first column of second row
            tbl.get_Item(0, 1).getTextFrame().setText("New");
        }
    }
    
    // Write the PPTX to disk
    pres.save("table1_out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

使用 Java 格式化 PowerPoint 表格中的文本

Aspose.Slides for Java 还允许您非常轻松地设置表格的格式,如下面的步骤所示。

  • 首先,使用Presentation 类加载现有的演示 文稿。
  • 然后,将所需幻灯片的引用引用到 ISlide 对象中。
  • 将所需表的引用从幻灯片检索到ITable类的实例中。
  • 设置使用格式化PortionFormat,使用ParagraphFormat和TextFrameFormat类。
  • 使用ITable.setTextFormat()方法为表格指定格式。
  • 最后,使用Presentation.save(String, SaveFormat)方法保存演示文稿。

以下代码示例展示了如何使用 Java 在 PowerPoint 中设置表格的格式。

// Load presentation
Presentation pres = new Presentation("simpletable.pptx");
try {
    // Get reference of the table
    ITable someTable = (ITable) pres.getSlides().get_Item(0).getShapes().get_Item(0);
    
    // Set table cells' font height
    PortionFormat portionFormat = new PortionFormat();
    portionFormat.setFontHeight(25);
    someTable.setTextFormat(portionFormat);
    
    // Set table cells' text alignment and right margin in one call
    ParagraphFormat paragraphFormat = new ParagraphFormat();
    paragraphFormat.setAlignment(TextAlignment.Right);
    paragraphFormat.setMarginRight(20);
    someTable.setTextFormat(paragraphFormat);
    
    // Set table cells' text vertical type
    TextFrameFormat textFrameFormat = new TextFrameFormat();
    textFrameFormat.setTextVerticalType(TextVerticalType.Vertical);
    someTable.setTextFormat(textFrameFormat);
    
    // Save presentation
    pres.save("result.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

使用 Java 锁定 PowerPoint 中表格的纵横比

您还可以使用 Java 锁定 PowerPoint 演示文稿中表格的纵横比。以下是实现此目的的步骤。

  • 首先,使用Presentation 类加载现有的演示 文稿。
  • 将所需幻灯片的引用获取到 ISlide 对象中。
  • 创建表或将现有表的引用检索到ITable对象中。
  • 使用ITable.getGraphicalObjectLock().setAspectRatioLocked(!ITable.getGraphicalObjectLock().getAspectRatioLocked())方法锁定纵横比。
  • 最后,使用Presentation.save(String, SaveFormat)方法保存演示文稿。

下面的代码示例展示了如何在 PowerPoint 演示文稿中锁定表格的纵横比。

// Load presentation
Presentation pres = new Presentation("pres.pptx");
try {
    // Get reference of the table
    ITable table = (ITable)pres.getSlides().get_Item(0).getShapes().get_Item(0);
    System.out.println("Lock aspect ratio set: " + table.getGraphicalObjectLock().getAspectRatioLocked());

    // Lock aspect ratio
    table.getGraphicalObjectLock().setAspectRatioLocked(!table.getGraphicalObjectLock().getAspectRatioLocked()); // invert
    System.out.println("Lock aspect ratio set: " + table.getGraphicalObjectLock().getAspectRatioLocked());

    // Save presentation
    pres.save("pres-out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

如果你想试用Aspose的全部完整功能,可联系在线客服获取30天临时授权体验。


还想要更多吗?您可以点击阅读【Aspose最新资源在线文库】查找需要的教程资源。如果您有任何疑问或需求,请随时加入Aspose技术交流群(761297826),我们很高兴为您提供查询和咨询



标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP