表は、Word 文書で表の形式のデータを表示するための一般的な方法の一つです。これは、大量の情報を整理するのに大いに役立ちます。この記事では、Spire.Doc for Java を使用して、表を作成する方法、表にデータを入力する方法、および表のセルに書式を適用する方法をご紹介します。
Spire.Doc for Java をインストールします
まず、Spire. Doc for Java を Java プロジェクトに追加する必要があります。JAR ファイルは、このリンクからダウンロードできます。Maven を使用する場合は、次のコードをプロジェクトの pom.xml ファイルに追加する必要があります。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url> https://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.doc</artifactId>
<version>4.9.0</version>
</dependency>
</dependencies>
Word で簡単な表を作成する
次のテーブルに、表の作成とフォーマットを担当するコアクラスとメソッドの一部を示します。
名前 | 説明 |
Table Class | Word文書の表を表します。 |
TableRow Class | テーブルの行を表します。 |
TableCell Class | テーブル内の特定のセルを表します。 |
Section.addTbale() Method | 指定されたセクションに新しいテーブルを追加します。 |
Table.resetCells() Method | 行番号と列番号をリセットします。 |
Table.getRows() Method | テーブルの行を取得します。 |
TableRow.setHeight() Method | 指定した行の高さを設定します。 |
TableRow.getCells() Method | セルコレクションを返します。 |
TableRow.getFormat() Method | 指定された行の形式を取得します。 |
以下は、Word文書に簡単な表を作成する手順です。
- Document オブジェクトを作成し、それにセクションを追加します。
- ヘッダー行と他の行のデータを準備し、それぞれ1次元の文字列配列と2次元の文字列配列に格納します。
- Section.addTable() メソッドを使用して、セクションにテーブルを追加します。
- ヘッダー行にデータを挿入し、行の高さ、背景色、テキストの配置など、行の書式を設定します。
- 残りの行にデータを挿入し、これらの行に書式を適用します。
- Document.saveToFile() メソッドを使用して、ドキュメントを別のファイルに保存します。
- Java
import com.spire.doc.*;
import com.spire.doc.documents.*;
import com.spire.doc.fields.TextRange;
import java.awt.*;
public class CreateTable {
public static void main(String[] args) {
//Documentオブジェクトを作成する
Document document = new Document();
//セクションを追加する
Section section = document.addSection();
//表のデータを定義する
String[] header = {"国家名", "首都", "大陸", "地域番号", "人口"};
String[][] data =
{
new String[]{"アルゼンチン", "ブエノスアイレス", "南米", "2777815", "32300003"},
new String[]{"ボリビア", "ラパス", "南米", "1098575", "7300000"},
new String[]{"ブラジル", "ブラジリア", "南米", "8511196", "150400000"},
new String[]{"カナダ", "オタワ", "北米", "9976147", "26500000"},
new String[]{"チリ", "サンティアゴ", "南米", "756943", "13200000"},
new String[]{"コロンビア", "ボゴタ", "南米", "1138907", "33000000"},
new String[]{"キューバ", "ハバナ", "北米", "114524", "10600000"},
new String[]{"エクアドル", "キト", "南米", "455502", "10600000"},
new String[]{"エルサルバドル", "サンサルバドル", "北米", "20865", "5300000"},
new String[]{"ガイアナ", "ジョージタウン", "南米", "214969", "800000"},
};
//表を追加する
Table table = section.addTable(true);
table.resetCells(data.length + 1, header.length);
//最初の行を表ヘッダーとして設定する
TableRow row = table.getRows().get(0);
row.isHeader(true);
row.setHeight(20);
row.setHeightType(TableRowHeightType.Exactly);
row.getRowFormat().setBackColor(Color.gray);
for (int i = 0; i < header.length; i++) {
row.getCells().get(i).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle);
Paragraph p = row.getCells().get(i).addParagraph();
p.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
TextRange txtRange = p.appendText(header[i]);
txtRange.getCharacterFormat().setBold(true);
}
//残りの行にデータを追加する
for (int r = 0; r < data.length; r++) {
TableRow dataRow = table.getRows().get(r + 1);
dataRow.setHeight(25);
dataRow.setHeightType(TableRowHeightType.Exactly);
dataRow.getRowFormat().setBackColor(Color.white);
for (int c = 0; c < data[r].length; c++) {
dataRow.getCells().get(c).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle);
dataRow.getCells().get(c).addParagraph().appendText(data[r][c]);
}
}
//セルの背景色を設定する
for (int j = 1; j < table.getRows().getCount(); j++) {
if (j % 2 == 0) {
TableRow row2 = table.getRows().get(j);
for (int f = 0; f < row2.getCells().getCount(); f++) {
row2.getCells().get(f).getCellFormat().setBackColor(new Color(173, 216, 230));
}
}
}
//ファイルに保存する
document.saveToFile("output/CreateTable.docx", FileFormat.Docx_2013);
}
}
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。