チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

チュートリアル»Java»Spire.XLS for Java»文書操作»Java:Excel ドキュメントの作成、読み込み、更新方法
2024-04-03

Java:Excel ドキュメントの作成、読み込み、更新方法

Excel ファイルは一般的な表計算フォーマットであり、ユーザーはデータを表に並べたり、分析したり、表示したりすることができる。プログラムで Excel ファイルを操作できることは、Excel の機能を自動化したり、ソフトウェアに統合したりするのに便利である。これは、大量のデータセットや複雑な計算、動的にデータを生成/更新する場合に特に有益です。この記事では、Spire.XLS for Java を使用して、Java で Excel ドキュメントを作成、読み取り、更新する方法について説明します。

Spire.XLS for Java をインストールします

まず、Spire. XLS 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.xls</artifactId>
        <version>14.3.2</version>
    </dependency>
</dependencies>

Java で Excel ドキュメントを作成する

Spire.XLS for Java は、Excel ドキュメントの作成や編集に使用できる様々なクラスやインターフェースを提供しています。以下は、この記事に関係する重要なクラス、プロパティ、メソッドのリストです。

項目 説明
Workbook クラス Excel のワークブックモデルを表します。
Workbook.getWorksheets().add() メソッド ワークブックにワークシートを追加します。
Workbook.saveToFile() メソッド ワークブックを Excel ドキュメントに保存します。
Worksheet クラス ワークブック内のワークシートを表します。
Worksheet.getRange() メソッド ワークシートから特定のセルまたはセル範囲を取得します。
Worksheet.insertArray() メソッド 配列からデータをワークシートにインポートします。
CellRange クラス ワークシート内のセルまたはセル範囲を表します。
CellRange.setValue() メソッド セルの値を設定します。
CellRange.getValue() メソッド セルの値を取得します。

以下は、Spire.XLS for Java を使用して Excel ドキュメントを新規作成する手順です。

  • Workbook オブジェクトを作成します。
  • Workbook.getWorksheets().add() メソッドを使用してワークシートを追加します。
  • Worksheet.getRange.setValue() メソッドを使用して、特定のセルにデータを書き込みます。
  • Worksheet.insertArray() メソッドを使用して、配列からワークシートにデータをインポートします。
  • Workbook.saveToFile() メソッドを使用して、ワークブックを Excel ドキュメントに保存します。
  • Java
import com.spire.xls.*;

public class CreateExcelWorkbook {
    public static void main(String[] args) {
        //Workbookオブジェクトを作成
        Workbook wb = new Workbook();

        //デフォルトのワークシートを削除
        wb.getWorksheets().clear();

        //ワークシートを追加し、名前を「Employee」とする
        Worksheet sheet = wb.getWorksheets().add("社員");

        //A1からG1までのセルを結合
        sheet.getRange().get("A1:G1").merge();

        //A1にデータを書き込み、書式を適用
        sheet.getRange().get("A1").setValue("華宇汽車の社員の基本情報");
        sheet.getRange().get("A1").setHorizontalAlignment(HorizontalAlignType.Center);
        sheet.getRange().get("A1").setVerticalAlignment(VerticalAlignType.Center);
        sheet.getRange().get("A1").getStyle().getFont().isBold(true);
        sheet.getRange().get("A1").getStyle().getFont().setSize(13);

        //最初の行の行の高さを設定
        sheet.setRowHeight(1,30);

        //二次元配列を作成
        String[][] twoDimensionalArray = new String[][]{
                {"名前", "性別", "生年月日", "学歴", "連絡先", "ポジション", "ID"},
                {"アレン", "男性", "1990-02-10", "学士", "24756854", "整備士", "0021"},
                {"パトリック", "男性", "1985-06-08", "修士", "59863247", "整備士", "0022"},
                {"ジェナ", "女性", "1989-11-25", "学士", "79540352", "営業", "0023"},
                {"トミー", "男性", "1988-04-16", "修士", "52014060", "整備士", "0024"},
                {"クリスティーナ", "女性", "1998-01-21", "学士", "35401489", "人事", "0025"}
        };

        //DataTableからデータをワークシートにインポート
        sheet.insertArray(twoDimensionalArray,2,1);

        //範囲の行の高さを設定
        sheet.getRange().get("A2:G7").setRowHeight(15);

        //列の幅を設定
        sheet.setColumnWidth(2,15);
        sheet.setColumnWidth(3,21);
        sheet.setColumnWidth(4,15);

        //範囲の境界線スタイルを設定
        sheet.getRange().get("A2:G7").borderAround(LineStyleType.Medium);
        sheet.getRange().get("A2:G7").borderInside(LineStyleType.Thin);
        sheet.getRange().get("A2:G2").borderAround(LineStyleType.Medium);
        sheet.getRange().get("A2:G7").getBorders().setKnownColor(ExcelColors.Black);

        // .xlsxファイルに保存
        wb.saveToFile("output/新しいワークブック.xlsx", FileFormat.Version2016);
        wb.dispose();
    }
}

Java:Excel ドキュメントの作成、読み込み、更新方法

Java でワークシートのデータを読む

CellRange.getValue() メソッドは、セルの数値またはテキスト値を文字列として返します。ワークシート全体またはセル範囲のデータを取得するには、その中のセルをループします。以下は、Spire.XLS for Java を使用してワークシートのデータを取得する手順です。

  • Workbook オブジェクトを作成します。
  • Workbook.loadFromFile() メソッドを使用して Excel ドキュメントを読み込みます。
  • Workbook.getWorksheets().get(index) メソッドを使用して、特定のワークシートを取得します。
  • Worksheet.getAllocatedRange() メソッドを使用して、データを含むセル範囲を取得します。
  • 行と列を反復処理して範囲内のセルを取得し、CellRange.getValue() メソッドを使用して各セルの値を返す。
  • Java
import com.spire.xls.CellRange;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;

public class ReadSheetData {

    public static void main(String[] args) {

        //Workbookオブジェクトを作成
        Workbook wb = new Workbook();

        //既存のExcelファイルを読み込む
        wb.loadFromFile("output/新しいワークブック.xlsx");

        //最初のワークシートを取得
        Worksheet sheet = wb.getWorksheets().get(0);

        //データが含まれるセル範囲を取得
        CellRange locatedRange = sheet.getAllocatedRange();

        //行を反復処理
        for (int i = 0; i < locatedRange.getRows().length; i++) {

            //列を反復処理
            for (int j = 0; j < locatedRange.getColumnCount(); j++) {

                //特定のセルのデータを取得
                System.out.print(locatedRange.get(i + 1, j + 1).getValue() + "  ");
            }
            System.out.println();
        }
        wb.dispose();
    }
}

Java:Excel ドキュメントの作成、読み込み、更新方法

Java で Excel ドキュメントを更新する

特定のセルの値を変更するには、Worksheet.getRange().setValue() メソッドを使用してセルの値を再設定します。以下はその詳細な手順です。

  • Workbook オブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ドキュメントを読み込みます。
  • Workbook.Worksheets[index] プロパティで特定のワークシートを取得します。
  • Worksheet.Range.Value プロパティを使って特定のセルの値を変更します。
  • Workbook.SaveToFile() メソッドを使用して、ワークブックを Excel ファイルに保存します。
  • Java
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;

public class UpdateCellValue {

    public static void main(String[] args) {

        //Workbookオブジェクトを作成
        Workbook wb = new Workbook();

        //既存のExcelファイルを読み込む
        wb.loadFromFile("output/新しいワークブック.xlsx");

        //最初のワークシートを取得
        Worksheet sheet = wb.getWorksheets().get(0);

        //特定のセルの値を変更
        sheet.getRange().get("A1").setValue("更新された値");

        //ファイルに保存
        wb.saveToFile("output/セル値の更新.xlsx", ExcelVersion.Version2016);
        wb.dispose();
    }
}

Java:Excel ドキュメントの作成、読み込み、更新方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Read 153 times