PowerPointJavaでテーブルを作成および操作する

テーブルは、行と列の形式でデータを適切に整理するために使用されます。さらに、それらは表示および分析が容易なデータを要約します。 MS PowerPointを使用すると、プレゼンターはプレゼンテーションにテーブルを作成することもできます。したがって、この記事では、Javaを使用してPowerPointプレゼンテーションでテーブルを作成および操作する方法を学習します。

PowerPointでテーブルを作成および操作するためのJavaAPI

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プレゼンテーションでテーブルを作成する

Aspose.Slides for Javaを使用してテーブルを作成するのは、パイと同じくらい簡単です。次の手順は、Javaを使用してPowerPointプレゼンテーションでテーブルを最初から作成する方法を示しています。

  • まず、Presentationクラスを使用して、新しいプレゼンテーションを作成するか、既存のプレゼンテーションをロードします。
  • 次に、目的のスライドの参照をISlideオブジェクトに取得します。
  • double[]配列で列と行の幅と高さをそれぞれ定義します。
  • ISlide.getShapes().addTable(float, float, double[], double[])メソッドを使用して、プレゼンテーションに新しいテーブルを挿入します。
  • ITableオブジェクトで新しく作成されたテーブルの参照を取得します。
  • テーブルの行を反復処理するループを作成します。
  • ネストされたループを作成してテーブルのセルを反復処理し、各反復で次の操作を実行します。
  • 最後に、Presentation.save(String, SaveFormat)メソッドを使用してプレゼンテーションを保存します。

次のコードサンプルは、PowerPointプレゼンテーションでテーブルを作成する方法を示しています。

// プレゼンテーションを作成またはロードする
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();
}

次のスクリーンショットは、上記のコードを使用して作成したテーブルを示しています。

PowerPointJavaでテーブルを作成する

Javaを使用してプレゼンテーションのテーブルにアクセスする

また、既存の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を初期化します
    ITable tbl = null;

    // 形状を繰り返し処理し、見つかったテーブルへの参照を取得します
    for (IShape shp : sld.getShapes()) 
    {
        if (shp instanceof ITable) 
        {
            tbl = (ITable) shp;
            // 2行目の1列目のテキストを設定します
            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クラスのインスタンスに目的のテーブルの参照を取得します。
  • PortionFormatParagraphFormat、および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);
    
    // 1回の呼び出しでテーブルセルのテキストの配置と右マージンを設定します
    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を使用したPowerPointのテーブルのアスペクト比のロック

Javaを使用して、PowerPointプレゼンテーションのテーブルのアスペクト比をロックすることもできます。これを実現するための手順は次のとおりです。

  • まず、Presentationクラスを使用して既存のプレゼンテーションをロードします。
  • ISlideオブジェクトへの目的のスライドの参照を取得します。
  • テーブルを作成するか、既存のテーブルの参照をITableオブジェクトに取得します。
  • ITable.getGraphicalObjectLock().setAspectRatioLocked(!ITable.getGraphicalObjectLock().getAspectRatioLocked())メソッドを使用してアスペクト比をロックします。
  • 最後に、Presentation.save(String, SaveFormat)メソッドを使用してプレゼンテーションを保存します。

次のコードサンプルは、PowerPointプレゼンテーションでテーブルのアスペクト比をロックする方法を示しています。

// プレゼンテーションを読み込む
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();
}

無料のAPIライセンスを取得する

無料の一時ライセンスを取得することで、評価の制限なしにAspose.Slides for Javaを使用できます。

結論

この記事では、Javaを使用してPowerPointプレゼンテーションでテーブルを作成する方法を学習しました。さらに、テーブルにアクセスし、プログラムでフォーマットとアスペクト比を設定する方法を見てきました。さらに、ドキュメントにアクセスして、Aspose.Slides for Javaの詳細を確認できます。また、フォーラムから質問することもできます。

関連項目