C#を使用してMS Wordドキュメントにテーブルに行を追加する方法

C#を使用してMS Wordドキュメントにテーブルに行を追加する方法

このチュートリアルでは、C#を使用してMS Wordドキュメントにプログラム的に行を追加する方法を学びます。指定されたインデックスで行を追加し、テーブルの最後に複数の空の行を挿入します。

Wordドキュメントにテーブル行を追加する利点

  1. 動的コンテンツ管理:
    • 新しいデータに合わせて既存のテーブルを簡単に修正できます。
  2. 柔軟性:
    • 手動編集なしで、プログラム的にテーブル構造を調整できます。
  3. 自動化:
    • 自動化スクリプトを通じてテーブルデータを効率的に管理できます。

前提条件: 環境の準備

  1. Visual Studioまたは任意の.NET IDEをインストールしてください。
  2. NuGetを通じてAspose.Wordsライブラリが利用可能であることを確認してください。

Wordのテーブルに行を追加するためのステップバイステップガイド

ステップ1: Aspose.Wordsライブラリのインストール

NuGetパッケージマネージャを使用してAspose.Wordsパッケージをインストールします。

Install-Package Aspose.Words

ステップ2: 必要な名前空間のインポート

プロジェクトにAspose.WordsとAspose.Words.Tablesの名前空間を含めます。

using Aspose.Words;
using Aspose.Words.Tables;

ステップ3: Wordドキュメントを開く

既存のMS Wordドキュメントをロードします。

Document MSWordDocument = new Document(@"MS Word.docx");

ステップ4: テーブルにアクセスする

ドキュメントからインデックスを使用してテーブルを取得します。

Table tableToAddRowsTo = MSWordDocument.FirstSection.Body.Tables[0];

ステップ5: 行を作成またはクローンする

テーブルから新しい行を作成するか、既存の行をクローンします。

Row row = new Row(MSWordDocument);

ステップ6: 行にセルを追加する

行にセルとテキストを追加します。

for (int i = 0; i < 3; i++) 
{
    Cell cell = new Cell(MSWordDocument);
    cell.AppendChild(new Paragraph(MSWordDocument));
    cell.FirstParagraph.Runs.Add(new Run(MSWordDocument, "セル内のテキスト " + i));
    row.Cells.Add(cell);
}

ステップ7: 最後に行を追加する

RowCollection.Addを使用してテーブルに行を追加します。

tableToAddRowsTo.Rows.Add(row);

ステップ8: 特定のインデックスに行を挿入する

RowCollection.Insertを使用して特定のインデックスに行を挿入します。

tableToAddRowsTo.Rows.Insert(1, row);

ステップ9: 更新されたドキュメントを保存する

追加された行でドキュメントを再保存します。

MSWordDocument.Save(@"MS Wordのテーブルに追加された行.docx");

Wordのテーブルに行を追加するためのサンプルコード

以下は、テーブルに行を追加するための完全なコードです。

// MS Wordドキュメントを開く
Document MSWordDocument = new Document(@"input.docx");

// インデックスでテーブルを取得する
Table tableToAddRowsTo = MSWordDocument.FirstSection.Body.Tables[0];

// 新しいRowクラスオブジェクトを作成する
Row row = new Row(MSWordDocument);

// Rowのセルコレクションに3つのセルを追加する
for (int i = 0; i < 3; i++)
{
    Cell cell = new Cell(MSWordDocument);
    cell.AppendChild(new Paragraph(MSWordDocument));
    cell.FirstParagraph.Runs.Add(new Run(MSWordDocument, "セル内のテキスト " + i));
    row.Cells.Add(cell);
}

// 最初の行の後に新しい行を挿入する
tableToAddRowsTo.Rows.Insert(1, row);

// テーブルから既存の行をクローンする
Row cloneOfRow = (Row)tableToAddRowsTo.FirstRow.Clone(true);

// すべてのセルからすべてのコンテンツを削除する
foreach (Cell cell in cloneOfRow)
{
    cell.RemoveAllChildren();
    cell.EnsureMinimum();
}

// テーブルの最後に複数の空の行を追加する
for (int i = 0; i < 10; i++)
{
    Row emptyRow = (Row)cloneOfRow.Clone(true);
    tableToAddRowsTo.Rows.Add(emptyRow);
}

// 更新されたドキュメントを保存する
MSWordDocument.Save(@"output.docx");

結論

このチュートリアルでは、C#を使用してMS Wordドキュメントのテーブルに行を追加する方法を示しました。これらの手順に従うことで、Wordドキュメント内のテーブルをプログラム的に効果的に管理および修正できます。

 日本語