Android で PowerPoint テーブルの行と列を管理
Contents
[
Hide
]
PowerPoint プレゼンテーションでテーブルの行と列を管理できるように、Aspose.Slides は Table クラス、ITable インターフェイス、その他多数の型を提供します。
最初の行をヘッダーとして設定
- Presentation クラスのインスタンスを作成し、プレゼンテーションをロードします。
- インデックスを使用してスライドの参照を取得します。
- ITable オブジェクトを作成し、null に設定します。
- すべての IShape オブジェクトを反復処理して、対象のテーブルを見つけます。
- テーブルの最初の行をヘッダーとして設定します。
この Java コードは、テーブルの最初の行をヘッダーとして設定する方法を示します。
// Presentation クラスのインスタンスを作成します
Presentation pres = new Presentation("table.pptx");
try {
// 最初のスライドにアクセスします
ISlide sld = pres.getSlides().get_Item(0);
// null の TableEx を初期化します
ITable tbl = null;
// シェイプを反復処理し、テーブルへの参照を設定します
for (IShape shp : sld.getShapes())
{
if (shp instanceof ITable)
{
tbl = (ITable)shp;
//テーブルの最初の行をヘッダーとして設定します
tbl.setFirstRow(true);
}
}
// プレゼンテーションをディスクに保存します
pres.save("pres.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
テーブルの行または列をクローンする
- Presentation クラスのインスタンスを作成し、プレゼンテーションをロードします。
- インデックスを使用してスライドの参照を取得します。
columnWidthの配列を定義します。rowHeightの配列を定義します。- addTable メソッドを使用して、スライドに ITable オブジェクトを追加します。
- テーブルの行をクローンします。
- テーブルの列をクローンします。
- 変更されたプレゼンテーションを保存します。
この Java コードは、PowerPoint テーブルの行または列をクローンする方法を示します。
// Presentation クラスのインスタンスを作成します
Presentation pres = new Presentation("Test.pptx");
try {
// 最初のスライドにアクセスします
ISlide sld = pres.getSlides().get_Item(0);
// 列の幅と行の高さを定義します
double[] dblCols = { 50, 50, 50 };
double[] dblRows = { 50, 30, 30, 30, 30 };
// スライドにテーブルシェイプを追加します
ITable table = sld.getShapes().addTable(100, 50, dblCols, dblRows);
// 行 1 のセル 1 にテキストを追加します
table.get_Item(0, 0).getTextFrame().setText("Row 1 Cell 1");
// 行 1 のセル 2 にテキストを追加します
table.get_Item(1, 0).getTextFrame().setText("Row 1 Cell 2");
// テーブルの末尾に行 1 をクローンします
table.getRows().addClone(table.getRows().get_Item(0), false);
// 行 2 のセル 1 にテキストを追加します
table.get_Item(0, 1).getTextFrame().setText("Row 2 Cell 1");
// 行 2 のセル 2 にテキストを追加します
table.get_Item(1, 1).getTextFrame().setText("Row 2 Cell 2");
// テーブルの 4 行目として行 2 をクローンします
table.getRows().insertClone(3, table.getRows().get_Item(1), false);
// 末尾に最初の列をクローンします
table.getColumns().addClone(table.getColumns().get_Item(0), false);
// 4 番目の列インデックスに 2 番目の列をクローンします
table.getColumns().insertClone(3,table.getColumns().get_Item(1), false);
// プレゼンテーションをディスクに保存します
pres.save("table_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
テーブルから行または列を削除する
- Presentation クラスのインスタンスを作成し、プレゼンテーションをロードします。
- インデックスを使用してスライドの参照を取得します。
columnWidthの配列を定義します。rowHeightの配列を定義します。- addTable メソッドを使用して、スライドに ITable オブジェクトを追加します。
- テーブルの行を削除します。
- テーブルの列を削除します。
- 変更されたプレゼンテーションを保存します。
この Java コードは、テーブルから行または列を削除する方法を示します。
Presentation pres = new Presentation();
try {
ISlide slide = pres.getSlides().get_Item(0);
double[] colWidth = { 100, 50, 30 };
double[] rowHeight = { 30, 50, 30 };
ITable table = slide.getShapes().addTable(100, 100, colWidth, rowHeight);
table.getRows().removeAt(1, false);
table.getColumns().removeAt(1, false);
pres.save("TestTable_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
テーブル行レベルでテキスト書式設定を行う
- Presentation クラスのインスタンスを作成し、プレゼンテーションをロードします。
- インデックスを使用してスライドの参照を取得します。
- スライドから対象の ITable オブジェクトにアクセスします。
- 最初の行のセルの setFontHeight(float value) を設定します。
- 最初の行のセルの setAlignment(int value) と setMarginRight(float value) を設定します。
- 2 行目のセルの setTextVerticalType(byte value) を設定します。
- 変更されたプレゼンテーションを保存します。
この Java コードは操作を示します。
// Presentation クラスのインスタンスを作成します
Presentation pres = new Presentation();
try {
// 最初のスライドの最初のシェイプがテーブルであると仮定します
ITable someTable = (ITable)pres.getSlides().get_Item(0).getShapes().get_Item(0);
// 最初の行のセルのフォント高さを設定します
PortionFormat portionFormat = new PortionFormat();
portionFormat.setFontHeight(25);
someTable.getRows().get_Item(0).setTextFormat(portionFormat);
// 最初の行のセルのテキスト配置と右余白を設定します
ParagraphFormat paragraphFormat = new ParagraphFormat();
paragraphFormat.setAlignment(TextAlignment.Right);
paragraphFormat.setMarginRight(20);
someTable.getRows().get_Item(0).setTextFormat(paragraphFormat);
// 2 行目のセルのテキスト縦方向タイプを設定します
TextFrameFormat textFrameFormat = new TextFrameFormat();
textFrameFormat.setTextVerticalType(TextVerticalType.Vertical);
someTable.getRows().get_Item(1).setTextFormat(textFrameFormat);
// プレゼンテーションをディスクに保存します
pres.save("result.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
テーブル列レベルでテキスト書式設定を行う
- Presentation クラスのインスタンスを作成し、プレゼンテーションをロードします。
- インデックスを使用してスライドの参照を取得します。
- スライドから対象の ITable オブジェクトにアクセスします。
- 最初の列のセルの setFontHeight(float value) を設定します。
- 最初の列のセルの setAlignment(int value) と setMarginRight(float value) を設定します。
- 2 列目のセルの setTextVerticalType(byte value) を設定します。
- 変更されたプレゼンテーションを保存します。
この Java コードは操作を示します:
// Presentation クラスのインスタンスを作成します
Presentation pres = new Presentation();
try {
// 最初のスライドの最初のシェイプがテーブルであると仮定します
ITable someTable = (ITable)pres.getSlides().get_Item(0).getShapes().get_Item(0)];
// 最初の列のセルのフォント高さを設定します
PortionFormat portionFormat = new PortionFormat();
portionFormat.setFontHeight(25);
someTable.getColumns().get_Item(0).setTextFormat(portionFormat);
// 最初の列のセルのテキスト配置と右余白を一度に設定します
ParagraphFormat paragraphFormat = new ParagraphFormat();
paragraphFormat.setAlignment(TextAlignment.Right);
paragraphFormat.setMarginRight(20);
someTable.getColumns().get_Item(0).setTextFormat(paragraphFormat);
// 2 列目のセルのテキスト縦方向タイプを設定します
TextFrameFormat textFrameFormat = new TextFrameFormat();
textFrameFormat.setTextVerticalType(TextVerticalType.Vertical);
someTable.getColumns().get_Item(1).setTextFormat(textFrameFormat);
pres.save("result.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
テーブルスタイルプロパティの取得
Aspose.Slides を使用すると、テーブルのスタイル プロパティを取得でき、取得した詳細を別のテーブルや他の場所で利用できます。この Java コードは、テーブルのプリセットスタイルからスタイル プロパティを取得する方法を示します。
Presentation pres = new Presentation();
try {
ITable table = pres.getSlides().get_Item(0).getShapes().addTable(10, 10, new double[] { 100, 150 }, new double[] { 5, 5, 5 });
table.setStylePreset(TableStylePreset.DarkStyle1); // デフォルトのスタイルプリセットテーマを変更します
pres.save("table.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
FAQ
既に作成されたテーブルに PowerPoint のテーマ/スタイルを適用できますか?
はい。テーブルはスライド/レイアウト/マスターテーマを継承しますが、その上で塗りつぶし、枠線、テキストカラーを上書きすることも可能です。
Excel のようにテーブル行を並べ替えできますか?
いいえ、Aspose.Slides のテーブルには組み込みのソートやフィルタ機能はありません。まずメモリ上でデータをソートし、その順序でテーブルの行を再度設定してください。
特定のセルにカスタムカラーを保持しながら、帯状(ストライプ)列を使用できますか?
はい。帯状列を有効にした上で、特定のセルにローカル書式を上書きできます。セルレベルの書式設定はテーブルスタイルよりも優先されます。