テーブルは、データを行と列の形式で配置するために使用されます。さらに、データを整理して要約し、簡単に表示および分析できるようにします。 MS PowerPointでは、プレゼンテーションにテーブルを挿入することもできます。したがって、この記事では、C#を使用してPowerPointプレゼンテーションでテーブルを作成および操作する方法について説明します。
- PowerPointでテーブルを作成および操作するためのC#API
- PowerPointプレゼンテーションでテーブルを作成する
- プレゼンテーションのテーブルにアクセスする
- PowerPointテーブルでテキストをフォーマットする
- テーブルのロックアスペクト比
PowerPointでテーブルを作成および操作するためのC#API
PowerPointプレゼンテーションでテーブルを作成および操作するには、Aspose.Slides for .NETを使用します。 APIを使用すると、PowerPointおよびOpenOfficeドキュメントを作成、操作、および変換できます。 APIのDLLをダウンロードして、プロジェクトにそのDLLへの参照を追加できます。また、NuGetを使用してインストールすることもできます。
PM> Install-Package Aspose.Slides.NET
C#を使用してPowerPointプレゼンテーションでテーブルを作成する
Aspose.Slides for .NETを使用してテーブルを作成するのは簡単です。次の手順は、C#を使用してPowerPointプレゼンテーションでテーブルを作成する方法を示しています。
- まず、Presentationクラスを使用して、新しいプレゼンテーションを作成するか、既存のプレゼンテーションをロードします。
- 次に、目的のスライドの参照をISlideオブジェクトに取得します。
- double[]配列で列と行の幅と高さをそれぞれ定義します。
- ISlide.Shapes.AddTable()メソッドを使用して、プレゼンテーションに新しいテーブルを挿入します。
- ITableオブジェクトで新しく作成されたテーブルの参照を取得します。
- テーブルの行を反復処理するループを作成します。
- ネストされたループを作成してテーブルのセルを反復処理し、各反復で次の操作を実行します。
- ITable.Rows[rowIndex][cellIndex].TextFrame.Textプロパティを使用してセルのテキストを設定します。
- セルの書式設定の参照をICellFormatオブジェクトに取得し、必要に応じてセルの境界線スタイルを設定します。
- 最後に、Presentation.Save(String, SaveFormat)メソッドを使用してプレゼンテーションを保存します。
次のコードサンプルは、PowerPointプレゼンテーションでテーブルを作成する方法を示しています。
// プレゼンテーションを作成またはロードする
Presentation pres = new Presentation();
// 最初のスライドにアクセスする
ISlide sld = pres.Slides[0];
// 幅のある列と高さのある行を定義する
double[] dblCols = { 50, 50, 50 };
double[] dblRows = { 50, 30, 30, 30, 30 };
// スライドにテーブル形状を追加
ITable tbl = sld.Shapes.AddTable(100, 50, dblCols, dblRows);
// 各セルの境界線の形式とテキストを設定する
for (int row = 0; row < tbl.Rows.Count; row++)
{
for (int cell = 0; cell < tbl.Rows[row].Count; cell++)
{
// セルにテキストを追加する
tbl.Rows[row][cell].TextFrame.Text = "Cells_" + cell;
tbl.Rows[row][cell].CellFormat.BorderTop.FillFormat.FillType = FillType.Solid;
tbl.Rows[row][cell].CellFormat.BorderTop.FillFormat.SolidFillColor.Color = Color.Red;
tbl.Rows[row][cell].CellFormat.BorderTop.Width = 5;
tbl.Rows[row][cell].CellFormat.BorderBottom.FillFormat.FillType = (FillType.Solid);
tbl.Rows[row][cell].CellFormat.BorderBottom.FillFormat.SolidFillColor.Color= Color.Red;
tbl.Rows[row][cell].CellFormat.BorderBottom.Width =5;
tbl.Rows[row][cell].CellFormat.BorderLeft.FillFormat.FillType = FillType.Solid;
tbl.Rows[row][cell].CellFormat.BorderLeft.FillFormat.SolidFillColor.Color =Color.Red;
tbl.Rows[row][cell].CellFormat.BorderLeft.Width = 5;
tbl.Rows[row][cell].CellFormat.BorderRight.FillFormat.FillType = FillType.Solid;
tbl.Rows[row][cell].CellFormat.BorderRight.FillFormat.SolidFillColor.Color = Color.Red;
tbl.Rows[row][cell].CellFormat.BorderRight.Width = 5;
}
}
// PPTXをディスクに保存
pres.Save("table.pptx", SaveFormat.Pptx);
次のスクリーンショットは、上記のコードを使用して作成したテーブルを示しています。
C#を使用してプレゼンテーションのテーブルにアクセスする
また、既存のPowerPointプレゼンテーションのテーブルにアクセスして、必要に応じて操作することもできます。プレゼンテーションのテーブルにアクセスする手順は次のとおりです。
- まず、Presentationクラスを使用して既存のプレゼンテーションをロードします。
- 次に、目的のスライドの参照をISlideオブジェクトに取得します。
- ITableのインスタンスを作成し、nullで初期化します。
- ISlide.Shapesコレクション内のすべてのIShapeオブジェクトを反復処理します。
- タイプITableの形状をフィルタリングします。
- 形状をITableに型キャストし、必要に応じて操作します。
- 最後に、Presentation.Save(String, SaveFormat)メソッドを使用してプレゼンテーションを保存します。
次のコードサンプルは、C#を使用してPowerPointプレゼンテーションのテーブルにアクセスする方法を示しています。
// プレゼンテーションを読み込む
using (Presentation pres = new Presentation("UpdateExistingTable.pptx"))
{
// 最初のスライドにアクセスする
ISlide sld = pres.Slides[0];
// nullTableExを初期化します
ITable tbl = null;
// 形状を繰り返し処理し、見つかったテーブルへの参照を設定します
foreach (IShape shp in sld.Shapes)
if (shp is ITable)
tbl = (ITable)shp;
// 2行目の1列目のテキストを設定します
tbl[0, 1].TextFrame.Text = "New";
//PPTXをディスクに書き込む
pres.Save("table1_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
}
C#を使用してPowerPointテーブルのテキストをフォーマットする
Aspose.Slides for .NETでは、以下の手順に示すように、テーブルの書式設定を非常に簡単に設定することもできます。
- まず、Presentationクラスを使用して既存のプレゼンテーションをロードします。
- 次に、目的のスライドの参照をISlideオブジェクトに取得します。
- スライドからITableオブジェクトに目的のテーブルの参照を取得します。
- PortionFormat、ParagraphFormat、およびTextFrameFormatクラスを使用してフォーマットを設定します。
- ITable.setTextFormat()メソッドを使用して、テーブルにフォーマットを割り当てます。
- 最後に、Presentation.Save(String, SaveFormat)メソッドを使用してプレゼンテーションを保存します。
次のコードサンプルは、C#を使用してPowerPointでテーブルのフォーマットを設定する方法を示しています。
// プレゼンテーションを作成またはロードする
Presentation presentation = new Presentation();
// スライドの参照を取得する
ISlide slide = presentation.Slides[0];
// テーブルの参照を取得します
ITable someTable = presentation.Slides[0].Shapes[0] as ITable; // let's say that the first shape on the first slide is a table
// テーブルセルのフォントの高さを設定する
PortionFormat portionFormat = new PortionFormat();
portionFormat.FontHeight = 25;
someTable.SetTextFormat(portionFormat);
// 1回の呼び出しでテーブルセルのテキストの配置と右マージンを設定します
ParagraphFormat paragraphFormat = new ParagraphFormat();
paragraphFormat.Alignment = TextAlignment.Right;
paragraphFormat.MarginRight = 20;
someTable.SetTextFormat(paragraphFormat);
// 表のセルのテキストの垂直方向のタイプを設定する
TextFrameFormat textFrameFormat = new TextFrameFormat();
textFrameFormat.TextVerticalType = TextVerticalType.Vertical;
someTable.SetTextFormat(textFrameFormat);
// プレゼンテーションを保存する
presentation.Save("result.pptx", SaveFormat.Pptx);
C#を使用してPowerPointのテーブルのアスペクト比をロックする
C#を使用して、PowerPointプレゼンテーションのテーブルのアスペクト比をロックすることもできます。これを実現するための手順は次のとおりです。
- まず、Presentationクラスを使用して既存のプレゼンテーションをロードします。
- 次に、目的のスライドの参照をISlideオブジェクトに取得します。
- テーブルを作成するか、既存のテーブルの参照をITableオブジェクトに取得します。
- ITable.ShapeLock.AspectRatioLockedプロパティを!ITable.ShapeLock.AspectRatioLockedに設定して、アスペクト比をロックします。
- 最後に、Presentation.Save(String, SaveFormat)メソッドを使用してプレゼンテーションを保存します。
次のコードサンプルは、PowerPointプレゼンテーションでテーブルのアスペクト比をロックする方法を示しています。
// プレゼンテーションを読み込む
using (Presentation pres = new Presentation("presentation.pptx"))
{
// テーブルの参照を取得します
ITable table = (ITable)pres.Slides[0].Shapes[0];
Console.WriteLine($"ロックのアスペクト比 set: {table.ShapeLock.AspectRatioLocked}");
// ロックのアスペクト比
table.ShapeLock.AspectRatioLocked = !table.ShapeLock.AspectRatioLocked; // invert
Console.WriteLine($"ロックのアスペクト比 set: {table.ShapeLock.AspectRatioLocked}");
// プレゼンテーションを保存する
pres.Save("pres-out.pptx", SaveFormat.Pptx);
}
無料のAPIライセンスを取得する
無料の一時ライセンスを取得することで、評価の制限なしにAspose.Slides for .NETを使用できます。
結論
この記事では、C#を使用してPowerPointプレゼンテーションでテーブルを作成する方法を学習しました。さらに、PowerPointプレゼンテーションの既存のテーブルにプログラムでアクセスして操作する方法を見てきました。さらに、ドキュメントにアクセスして、Aspose.Slides for .NETの詳細を確認できます。また、フォーラムから質問することもできます。