スプレッドシート データをプログラムで更新することは、レポートを生成したり、テンプレートを変更したり、Excel ファイルをビジネス ワークフローに統合したりする必要がある Java 開発者にとって頻繁な要件です。 Conholdate.Total for Java は、数行のコードだけで Java で Excel の CELL 値を簡単に更新できる堅牢な SDK を提供します。このガイドでは、ワークブックの読み込み、特定のセルの変更、数値書式の適用、そして更新されたファイルの保存方法を学びます。

JavaでExcelセルの値を更新する手順

  1. メモリ最適化でブックをロード: LoadOptions インスタンスを作成し、メモリ最適化を有効にして、Workbook コンストラクタに渡します。
    LoadOptions loadOptions = new LoadOptions();
    loadOptions.setEnableMemoryOptimization(true);
    Workbook workbook = new Workbook("input.xlsx", loadOptions);
    
  2. 対象のワークシートにアクセス: ブックから最初のワークシート(インデックス 0)を取得します。
    Worksheet worksheet = workbook.getWorksheets().get(0);
    
  3. 更新するセルを特定: ゼロベースの行と列インデックスを使用してセル B2(行 1、列 1)を取得します。次に setValue を呼び出して JavaでExcelセルの値を更新 します。
    Cell cell = worksheet.getCells().get(1, 1);
    cell.setValue("Updated Value");
    
  4. オプションの書式設定を適用: 数値セルの場合、データ型と数値書式を設定できます。例はセル C3 を示しています。
    Cell numericCell = worksheet.getCells().get(2, 2);
    numericCell.setValue(12345.678);
    numericCell.setDataType(DataType.NUMERIC);
    Style style = numericCell.getStyle();
    style.setNumberFormat("#,##0.00");
    numericCell.setStyle(style);
    
  5. ブックを保存: SaveOptions オブジェクトを作成し、希望の出力パスで save を呼び出します。
    SaveOptions saveOptions = new SaveOptions();
    workbook.save("output.xlsx", saveOptions);
    

JavaでExcelセルの値を更新 - 完全なコード例

以下のコードは、Excelセルの更新、数値書式の適用、および結果の保存の完全な実装を示しています。

import com.groupdocs.total.excel.Workbook;
import com.groupdocs.total.excel.Worksheet;
import com.groupdocs.total.excel.Cell;
import com.groupdocs.total.excel.LoadOptions;
import com.groupdocs.total.excel.SaveOptions;
import com.groupdocs.total.excel.Style;
import com.groupdocs.total.excel.DataType;
import java.io.IOException;

public class UpdateExcelCell {
    public static void main(String[] args) {
        String inputPath = "input.xlsx";
        String outputPath = "output.xlsx";

// Load options can be tuned for large worksheets (e.g., enable memory optimization)
        LoadOptions loadOptions = new LoadOptions();
        loadOptions.setEnableMemoryOptimization(true);

Workbook workbook = null;
        try {
            // Load the workbook
            workbook = new Workbook(inputPath, loadOptions);

// Access the first worksheet (index 0)
            Worksheet worksheet = workbook.getWorksheets().get(0);

// Update cell B2 (row index 1, column index 1 – zero based)
            Cell cell = worksheet.getCells().get(1, 1);
            cell.setValue("Updated Value");

// Example: set numeric format and data type for another cell (C3)
            Cell numericCell = worksheet.getCells().get(2, 2);
            numericCell.setValue(12345.678);
            numericCell.setDataType(DataType.NUMERIC);
            Style style = numericCell.getStyle();
            style.setNumberFormat("#,##0.00");
            numericCell.setStyle(style);

// Save the workbook with default save options
            SaveOptions saveOptions = new SaveOptions();
            workbook.save(outputPath, saveOptions);
        } catch (IOException e) {
            System.err.println("I/O error while processing the Excel file: " + e.getMessage());
        } catch (Exception e) {
            System.err.println("Unexpected error: " + e.getMessage());
        } finally {
            // Ensure resources are released
            if (workbook != null) {
                try {
                    workbook.dispose();
                } catch (Exception e) {
                    System.err.println("Error while disposing workbook: " + e.getMessage());
                }
            }
        }
    }
}

注: このコード例はコア機能を示しています。プロジェクトで使用する前に、ファイルパスや構成値が実際の環境に合わせて更新されていることを確認し、すべての必須依存関係が正しくインストールされているか検証し、開発環境で徹底的にテストしてください。問題が発生した場合は、公式ドキュメント を参照するか、サポートチーム にお問い合わせください。

Conholdate.Total for Java - 前提条件とセットアップ

Conholdate Maven リポジトリと SDK 依存関係を pom.xml に追加します。その後、公式サイトから最新のライブラリをダウンロードしてください。

<repositories>
    <repository>
        <id>conholdate-repo</id>
        <name>Conholdate Maven Repository</name>
        <url>https://repository.conholdate.com/repo/</url>
    </repository>
</repositories>

<dependency>
    <groupId>com.conholdate</groupId>
    <artifactId>conholdate-total</artifactId>
    <version>24.9</version>
    <type>pom</type>
</dependency>

SDK パッケージはダウンロードページからダウンロードし、Java 8 以上が実行されていることを確認してください。

Conholdate.Total for Java の Excel 編集機能

  • XLSX, XLS, CSV の読み込みと保存 - SDK はデータ損失なしにすべての一般的なスプレッドシート形式を読み書きします。
  • セルレベルの操作 - 行と列のインデックスで任意のセルにアクセスし、値を更新し、データ型を変更できます。
  • スタイリングと数値形式 - Style オブジェクトを適用して、数値形式、フォント、色、罫線をセルに直接設定します。
  • メモリ最適化処理 - LoadOptions.setEnableMemoryOptimization(true) により、大きなワークシートを効率的に扱えます。
  • 包括的な API リファレンス - 詳細なクラスドキュメントは API reference にあります。

Excelセル更新オプションの構成

SDK が大きなファイルや書式設定を処理する方法を細かく調整できます:

  • メモリ最適化 - LoadOptions.setEnableMemoryOptimization(true) を使用して有効にします(コードに示されています)。
  • 保存オプション - SaveOptions を使用して出力形式、圧縮、元の数式を保持するかどうかを制御します。
  • データ型制御 - DataType.NUMERIC を数値(数値)に、DataType.STRING をテキストに設定するなどして、セルの正しい動作を保証します。
LoadOptions loadOptions = new LoadOptions();
loadOptions.setEnableMemoryOptimization(true);

よくある質問

Conholdate.Total for Java を使用して複数のセルを更新できますか?
はい、同じセル更新ロジックを繰り返し呼び出すことで、ワークシート内の多数のセルを更新できます。SDK を使用すると、各セルを特定し、同じ setValue メソッドを使って Java で Excel のセル値を更新できます。

セルの更新でサポートされているExcel形式は何ですか?
Conholdate.Total for Java は XLSX、XLS、CSV などのスプレッドシート形式に対応しています。サポートされている任意のブックを読み込み、セルを変更し、元の形式または別の形式で保存できます。

Conholdate.Total for Java の一時ライセンスはどう取得しますか?
一時ライセンスは一時ライセンスページからリクエストできます。 本番環境での使用については、価格ページで適切なプランを選択してください。

さらに多くの例やコミュニティのサポートはどこで見つけられますか?
公式のdocumentationは詳細なAPIリファレンスを提供しており、support forumは質問をするのに最適な場所です。

さらに読む