テーブルを作成する

Aspose.Wordsを使用すると、ユーザーは文書内にテーブルを最初から作成でき、そのためのいくつかの異なる方法が提供されます。 この記事では、各メソッドを使用して書式設定されたテーブルをドキュメントに追加する方法の詳細と、記事の最後にある各メソッドの比較について

デフォルトのテーブルスタイル

新しく作成されたテーブルには、Microsoft Wordで使用されているものと同様のデフォルト値が与えられます:

テーブルプロパティ Aspose.Wordsのデフォルト
Border Style Single
Border Width 1/2 pt
境界線の色 Black
Left and Right Padding 5.4 pts
AutoFit Mode AutoFit to Window
Allow AutoFit True

DocumentBuilderでテーブルを作成する

Aspose.Wordsでは、ユーザーはDocumentBuilderを使用して文書内にテーブルを作成できます。 テーブルを作成するための基本的なアルゴリズムは次のとおりです:

  1. テーブルをStartTableで開始します
  2. InsertCellを使用してテーブルにセルを追加する–これにより、新しい行が自動的に開始されます
  3. 必要に応じて、CellFormatプロパティを使用してセルの書式を指定します
  4. WritelnInsertImageなどの適切なDocumentBuilderメソッドを使用してセルの内容を挿入します
  5. 行が完了するまで、手順2~4を繰り返します
  6. 現在の行を終了するにはEndRowを呼び出します
  7. 必要に応じて、RowFormatプロパティを使用して行の書式を指定します
  8. テーブルが完了するまで、手順2~7を繰り返します
  9. テーブルの構築を完了するにはEndTableを呼び出します

テーブルを作成するプロセスは、次の図ではっきりと見ることができます:

creating-table-process

次のコード例は、既定の書式設定でDocumentBuilderを使用して単純なテーブルを作成する方法を示しています:

次のコード例は、DocumentBuilderを使用して書式設定されたテーブルを作成する方法を示しています:

次のコード例は、DocumentBuilderを使用して入れ子になったテーブルを挿入する方法を示しています:

DOMを使用してテーブルを作成する(ドキュメントオブジェクトモデル)

特定の位置に新しいTableノードを追加することで、テーブルをDOMに直接挿入できます。

テーブルノードの作成直後に、テーブル自体は完全に空になります。つまり、まだ行とセルが含まれていないことに注意してください。 テーブルに行とセルを挿入するには、適切なRowCellの子ノードをDOMに追加します。

次のコード例は、適切な子ノードをドキュメントツリーに追加して、新しいテーブルを最初から作成する方法を示しています:

HTMLからテーブルを作成する

Aspose.Wordsは、InsertHtmlメソッドを使用して、HTMLソースからドキュメントにコンテンツを挿入することをサポートします。 入力は、完全なHTMLページまたは部分的なスニペットにすることができます。

このInsertHtmlメソッドを使用すると、ユーザーは次のようなテーブルタグを介して文書にテーブルを挿入できます<table>, <tr>, <td>.

次のコード例は、HTMLタグを含む文字列からドキュメントにテーブルを挿入する方法を示しています:

既存のテーブルのコピーを挿入する

ドキュメント内の既存のテーブルに基づいてテーブルを作成する必要がある場合がよくあります。 すべての書式設定を保持しながらテーブルを複製する最も簡単な方法は、deepCloneメソッドを使用してテーブルノードを複製することです。

同じ手法を使用して、既存の行またはセルのコピーをテーブルに追加できます。

次のコード例は、ノードコンストラクターを使用してテーブルを複製する方法を示しています:

次のコード例は、テーブルの最後の行を複製してテーブルに追加する方法を示しています:

データソースからの各レコードで動的に成長するドキュメント内のテーブルを作成する場合は、上記の方法はお勧めしません。 代わりに、領域でMail mergeを使用すると、目的の出力がより簡単に達成されます。 この技術についての詳細を学ぶことができます 地域を持つMail Merge セクション。

テーブルを作成する方法を比較する

Aspose.Wordsは、文書内に新しいテーブルを作成するためのいくつかのメソッドを提供します。 各方法には独自の長所と短所があるため、使用する選択は特定の状況に依存することがよくあります。

テーブルを作成するこれらの方法を詳しく見て、その長所と短所を比較してみましょう:

メソッド 利点 デメリット
経由DocumentBuilder テーブルやその他のドキュメントコンテンツを挿入するための標準的な方法 同じビルダーインスタンスで同時に多くの種類のテーブルを作成するのが難しい場合があります
経由DOM DocumentBuilderを使用せずにノードを直接DOMに作成して挿入する周囲のコードに適しています ほとんどの操作を実行する前に、EnsureMinimumを呼び出して不足している子ノードを作成する必要があります
からHTML 次のようなタグを使用してHTMLソースから新しいテーブルを作成できます<table>, <tr>, <td> すべての可能なMicrosoft Wordテーブル形式をHTMLに適用できるわけではありません
既存のテーブルのクローン作成 すべての行とセルの書式設定を保持しながら、既存のテーブルのコピーを作成できます テーブルを使用する準備が整う前に、適切な子ノードを削除する必要があります