表格用於以行和列的形式很好地組織數據。此外,它們匯總了易於查看和分析的數據。 MS PowerPoint 還允許演示者在演示文稿中創建表格。因此,在本文中,您將學習如何使用 Java 在 PowerPoint 演示文稿中創建和操作表格。
- 在 PowerPoint PPT 中創建和操作表格的 Java API
- 用 Java 在 PowerPoint PPT 中創建表格
- 使用 Java 訪問 PPTX 中的表
- 在 PowerPoint 表格中設置文本格式
- 鎖定 PPT 表格的縱橫比
用於在 PowerPoint PPT 中創建和操作表格的 Java API
要在 PowerPoint 演示文稿中創建和操作表格,我們將使用 Aspose.Slides for Java。該 API 旨在創建、操作和轉換 PowerPoint 和 OpenOffice 演示文稿。您可以下載 API 的 JAR 或使用以下 Maven 配置安裝它。
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://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 PPT 中創建表格
使用 Aspose.Slides for Java 創建表格非常簡單。以下步驟演示瞭如何使用 Java 從頭開始在 PowerPoint PPT 中創建表格。
- 首先,使用 Presentation 類創建一個新的演示文稿或加載現有的演示文稿。
- 然後,將所需幻燈片的引用獲取到 ISlide 對像中。
- 在double[]數組中分別定義列寬和行高。
- 使用 ISlide.getShapes().addTable(float, float, double[], double[]) 方法在演示文稿中插入一個新表格。
- 在 ITable 對像中獲取新創建表的引用。
- 創建循環以遍歷表的行。
- 創建一個嵌套循環以遍歷表格的單元格,並在每次迭代中執行以下操作。
- 使用 ITable.getRows().getItem(rowIndex).getItem(cellIndex).getTextFrame().setText(String) 方法設置單元格的文本。
- 將單元格格式設置引用到 ICellFormat 對像中。
- 如果需要,設置單元格的邊框樣式。
- 最後,使用 Presentation.save(String, SaveFormat) 方法保存演示文稿。
以下代碼示例顯示瞭如何使用 Java 在 PowerPoint PPT 中添加表格。
// 創建或加載演示文稿
Presentation pres = new Presentation();
try {
// 訪問第一張幻燈片
ISlide sld = pres.getSlides().get_Item(0);
// 定義具有寬度的列和具有高度的行
double[] dblCols = { 50, 50, 50 };
double[] dblRows = { 50, 30, 30, 30, 30 };
// 將表格形狀添加到幻燈片
ITable tbl = sld.getShapes().addTable(100, 50, dblCols, dblRows);
// 為每個單元格設置文本和邊框格式
for (int row = 0; row < tbl.getRows().size(); row++) {
for (int cell = 0; cell < tbl.getRows().get_Item(row).size(); cell++) {
// 設置文字
tbl.getRows().get_Item(row).get_Item(cell).getTextFrame().setText("Cell_" + cell);
// 設置邊框
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);
}
}
// 將 PPTX 保存到磁盤
pres.save("table.pptx", SaveFormat.Pptx);
} finally {
if (pres != null)
pres.dispose();
}
以下屏幕截圖顯示了我們使用上述代碼創建的表格。
使用Java訪問PPT中的表格
您還可以訪問現有 PowerPoint 演示文稿中的表格並根據需要對其進行操作。以下是訪問演示文稿中的表格的步驟。
- 首先,使用 Presentation 類加載現有演示文稿。
- 然後,將所需幻燈片的引用獲取到 ISlide 對像中。
- 創建 ITable 的實例並用 null 初始化它。
- 遍歷 ISlide.getShapes() 集合中的所有 IShape 對象。
- 過濾 ITable 類型的形狀。
- 將形狀類型轉換為 ITable 並根據需要對其進行操作。
- 最後,使用 Presentation.save(String, SaveFormat) 方法保存演示文稿。
以下代碼示例顯示如何使用 Java 訪問 PowerPoint 演示文稿中的表格。
// 創建或加載演示文稿
Presentation pres = new Presentation("UpdateExistingTable.pptx");
try {
// 訪問第一張幻燈片
ISlide sld = pres.getSlides().get_Item(0);
// 初始化表
ITable tbl = null;
// 遍歷形狀並獲取對找到的表格的引用
for (IShape shp : sld.getShapes())
{
if (shp instanceof ITable)
{
tbl = (ITable) shp;
// 設置第二行第一列的文本
tbl.get_Item(0, 1).getTextFrame().setText("New");
}
}
// 將 PPTX 寫入磁盤
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 中設置表格的格式。
// 負載演示
Presentation pres = new Presentation("simpletable.pptx");
try {
// 獲取表的引用
ITable someTable = (ITable) pres.getSlides().get_Item(0).getShapes().get_Item(0);
// 設置表格單元格的字體高度
PortionFormat portionFormat = new PortionFormat();
portionFormat.setFontHeight(25);
someTable.setTextFormat(portionFormat);
// 在一次調用中設置表格單元格的文本對齊方式和右邊距
ParagraphFormat paragraphFormat = new ParagraphFormat();
paragraphFormat.setAlignment(TextAlignment.Right);
paragraphFormat.setMarginRight(20);
someTable.setTextFormat(paragraphFormat);
// 設置表格單元格的文本垂直類型
TextFrameFormat textFrameFormat = new TextFrameFormat();
textFrameFormat.setTextVerticalType(TextVerticalType.Vertical);
someTable.setTextFormat(textFrameFormat);
// 保存演示文稿
pres.save("result.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
使用Java在PPTX中鎖定表格的縱橫比
您還可以使用 Java 鎖定 PowerPoint PPT 中表格的縱橫比。以下是實現此目的的步驟。
- 首先,使用 Presentation 類加載現有演示文稿。
- 將所需幻燈片的引用獲取到 ISlide 對像中。
- 創建表或將現有表的引用檢索到 ITable 對像中。
- 使用 ITable.getGraphicalObjectLock().setAspectRatioLocked(!ITable.getGraphicalObjectLock().getAspectRatioLocked()) 方法鎖定縱橫比。
- 最後,使用 Presentation.save(String, SaveFormat) 方法保存演示文稿。
以下 Java 代碼示例顯示如何在 PowerPoint PPTX 中鎖定表格的縱橫比。
// 負載演示
Presentation pres = new Presentation("pres.pptx");
try {
// 獲取表的引用
ITable table = (ITable)pres.getSlides().get_Item(0).getShapes().get_Item(0);
System.out.println("鎖定縱橫比 set: " + table.getGraphicalObjectLock().getAspectRatioLocked());
// 鎖定縱橫比
table.getGraphicalObjectLock().setAspectRatioLocked(!table.getGraphicalObjectLock().getAspectRatioLocked()); // invert
System.out.println("鎖定縱橫比 set: " + table.getGraphicalObjectLock().getAspectRatioLocked());
// 保存演示文稿
pres.save("pres-out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
用於創建 PowerPoint 表格的 Java API - 獲取免費許可證
通過獲得免費的臨時許可,您可以不受評估限制地使用 Aspose.Slides for Java。
結論
在本文中,您學習瞭如何使用 Java 在 PowerPoint PPT 中創建表格。此外,您還看到瞭如何訪問表格並以編程方式設置它們的格式和縱橫比。此外,您可以訪問 文檔 來探索有關 Aspose.Slides for Java 的更多信息。此外,您可以通過我們的 論壇 提問。