はじめに

Cell クラスは Aspose.Cells FOSS for Java の基礎単位です。型付き値を格納し、CellValueType 列挙体を通じて実行時の型を公開し、Excel が評価できるように数式文字列を永続化し、getStringValue() を介して統一された文字列表現を提供します。この投稿では、検証済みの例とともにコアセル API を詳細に検証します。

以下のすべてのコード例は Maven 依存関係を使用しています:

<dependency>
  <groupId>com.aspose</groupId>
  <artifactId>cells-foss</artifactId>
  <version>1.0.0</version>
</dependency>

コアセル API

putValue() を使用した型付き値の保存

Cell.putValue() は 6 つの Java 型を受け入れます: StringintdoublebooleanLocalDateTime、および Object。 各呼び出しはセルの内部値を設定し、cell.getType() が返す CellValueType を決定します。

import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.CellValueType;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
import java.time.LocalDateTime;

try (Workbook workbook = new Workbook()) {
    Worksheet sheet = workbook.getWorksheets().get(0);

    Cell a1 = sheet.getCells().get("A1");
    a1.putValue("Revenue");
    assert a1.getType() == CellValueType.STRING;

    Cell b1 = sheet.getCells().get("B1");
    b1.putValue(42500.75);
    assert b1.getType() == CellValueType.NUMBER;

    Cell c1 = sheet.getCells().get("C1");
    c1.putValue(true);
    assert c1.getType() == CellValueType.BOOLEAN;

    Cell d1 = sheet.getCells().get("D1");
    d1.putValue(LocalDateTime.of(2026, 4, 27, 9, 0, 0));
    assert d1.getType() == CellValueType.DATE_TIME;

    workbook.save("typed.xlsx");
}

空白セルは getType() から CellValueType.BLANK を返します。putValue(int) を使用して保存された整数値は、XLSX シリアライズを往復しても小数点が付加されません — getStringValue()"123.0" ではなく "123" を返します。

実行時の値の検査

cell.getValue() は、生の格納値を Object として返します。 cell.getStringValue()
ロケール非依存の文字列表現を返し、下流処理や
表示に適しています。 CellValueType に基づく分岐は、型安全な
値抽出のために推奨されるパターンです:

import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.CellValueType;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;

try (Workbook workbook = new Workbook()) {
    Worksheet sheet = workbook.getWorksheets().get(0);
    sheet.getCells().get("A1").putValue("Hello");
    sheet.getCells().get("B1").putValue(123);
    sheet.getCells().get("C1").putValue(true);
    sheet.getCells().get("D1").putValue(12.5d);
    sheet.getCells().get("G1").setFormula("=B1*2");

    Cell b1 = sheet.getCells().get("B1");
    if (b1.getType() == CellValueType.NUMBER) {
        System.out.println("Number: " + b1.getStringValue());
    }
    workbook.save("inspect.xlsx");
}

数式ストレージ

数式文字列は cell.setFormula() で保存されます。保存された数式文字列は
= で始まり、標準的な Excel の数式構文に従います。getType() メソッドは
CellValueType.FORMULA を数式セルに対して返します。Aspose.Cells FOSS for Java は
XLSX で数式を保存およびラウンドトリップし、数式は開く際に Excel によって再計算されます。

import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.CellValueType;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;

try (Workbook workbook = new Workbook()) {
    Worksheet sheet = workbook.getWorksheets().get(0);
    Cell b1 = sheet.getCells().get("B1");
    b1.putValue(100.0);
    Cell c1 = sheet.getCells().get("C1");
    c1.setFormula("=B1*1.2");
    assert c1.getType() == CellValueType.FORMULA;
    workbook.save("formulas.xlsx");
}

XLSX ラウンドトリップ忠実度

すべての型付き値は、XLSX のシリアライズと再ロードの間で保持されます。既存の .xlsx ファイルをロードする際は、new Workbook(path) または new Workbook(path, options)LoadOptions と共に使用して修復モードを有効にします。再ロード後、getType()getStringValue() は書き込み時と同じ値を返します。

import com.aspose.cells_foss.LoadIssue;
import com.aspose.cells_foss.LoadOptions;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;

LoadOptions options = new LoadOptions();
options.setStrictMode(false);
options.setTryRepairPackage(true);
options.setTryRepairXml(true);

try (Workbook workbook = new Workbook("input.xlsx", options)) {
    if (workbook.getLoadDiagnostics().hasRepairs()) {
        for (LoadIssue issue : workbook.getLoadDiagnostics().getIssues()) {
            System.out.println(issue.getMessage());
        }
    }
    Worksheet sheet = workbook.getWorksheets().get(0);
    System.out.println(sheet.getCells().get("A1").getStringValue());
    workbook.save("output.xlsx");
}

サポートされている形式

形式拡張子読み取り書き込み
Excel Open XML.xlsx

オープンソースとライセンス

Aspose.Cells FOSS for Java は MIT ライセンスの下でリリースされています。あなたは個人、オープンソース、商用プロジェクトで制限なく使用、
変更、配布することが自由です。ソースコードは以下で入手可能です
github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java


はじめに