はじめに

Aspose.Cells FOSS for Java は、Java 17 アプリケーション向けに包括的なスプレッドシート機能を提供します。MIT ライセンスの下でリリースされ、標準的な Maven アーティファクトとして配布されるこのライブラリは、基本的なワークブック作成から型付きセル値、リッチな書式設定、データ検証、AutoFilter に至るまで、すべて Microsoft Office への依存なしでカバーします。

この投稿では、検証済みの API 表面から抽出した焦点を当てたコード例とともに、主要な機能領域を順に解説します。
以下に示すすべてのクラスおよびメソッド名はライブラリに存在し、
バージョン 1.0.0 で利用可能です。


主な機能

ワークブックとワークシートの管理

Workbook クラスは AutoCloseable を実装しているため、
Java の try-with-resources パターンときれいに統合されます。空のワークブックを作成したり、既存の
.xlsx ファイルを読み込んだり、ワークシートの名前を変更したり、シートを追加または削除したり、アクティブシートを設定したり、
タブの表示を制御したりできます。

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

try (Workbook workbook = new Workbook()) {
    Worksheet sheet = workbook.getWorksheets().get(0);
    sheet.setName("Q1 Report");
    workbook.getWorksheets().addSheet("Summary");
    workbook.save("report.xlsx");
}

入力されたセルの値と数式

Cell クラスは、putValue() を介して Stringintdouble
boolean、および LocalDateTime の型付き値を受け入れます。 getType() メソッドは CellValueType 列挙型の
値 — STRINGNUMBERBOOLEANDATE_TIME、または FORMULA — を返すため、文字列を解析せずに値の型に基づいて分岐しやすくなります。 数式文字列は
setFormula() と共に保存され、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 a1 = sheet.getCells().get("A1");
    a1.putValue("Revenue");
    Cell b1 = sheet.getCells().get("B1");
    b1.putValue(42500.00);
    Cell c1 = sheet.getCells().get("C1");
    c1.setFormula("=B1*1.2");
    // Check type
    assert b1.getType() == CellValueType.NUMBER;
    assert c1.getType() == CellValueType.FORMULA;
    workbook.save("values.xlsx");
}

セルの書式設定とスタイル

書式設定は、Style オブジェクトを cell.getStyle() から取得し、cell.setStyle() で書き戻すことで適用されます。Font サブオブジェクトは setBold()setColor() を公開します。HorizontalAlignment はテキストの配置を制御します — LEFTCENTER、または RIGHT。カスタム数値形式は style.setCustom() を介して Excel の書式文字列を使用します。行の高さと列の幅は getRows().get(n).setHeight()getColumns().get(n).setWidth() で調整されます。

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

try (Workbook workbook = new Workbook()) {
    Worksheet sheet = workbook.getWorksheets().get(0);
    Cell cell = sheet.getCells().get("B1");
    cell.putValue(9999.50);
    Style style = cell.getStyle();
    style.getFont().setBold(true);
    style.setCustom("#,##0.00");
    cell.setStyle(style);
    sheet.getCells().getRows().get(0).setHeight(24.0);
    sheet.getCells().getColumns().get(1).setWidth(16.0);
    workbook.save("styled.xlsx");
}

データ検証

データ検証ルールは sheet.getValidations().add() を通じて追加されます。各 Validation オブジェクトは ValidationType を受け取ります(例: WHOLE_NUMBERDECIMALLIST)および OperatorType を受け取ります(例: BETWEENGREATER_THAN)。数式の境界は setFormula1()setFormula2() を介して文字列として保存されます。

import com.aspose.cells_foss.CellArea;
import com.aspose.cells_foss.OperatorType;
import com.aspose.cells_foss.Validation;
import com.aspose.cells_foss.ValidationType;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;

try (Workbook workbook = new Workbook()) {
    Worksheet sheet = workbook.getWorksheets().get(0);
    int vi = sheet.getValidations().add(new CellArea(1, 0, 10, 0));
    Validation validation = sheet.getValidations().get(vi);
    validation.setType(ValidationType.WHOLE_NUMBER);
    validation.setOperator(OperatorType.BETWEEN);
    validation.setFormula1("1");
    validation.setFormula2("100");
    workbook.save("validated.xlsx");
}

AutoFilter

AutoFilters は、エンドユーザーが Excel で追加の設定なしにインタラクティブにデータをフィルタリングできるようにします
設定を行わずに、ws.getAutoFilter().setRange() を A1 表記の範囲で呼び出して、
フィルタ ヘッダー行を有効にし、追加のフィルタ列やカスタム条件は、
FilterColumnAutoFilterCustomFilter を使用して定義できます。

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("Product");
    sheet.getCells().get("B1").putValue("Qty");
    sheet.getAutoFilter().setRange("A1:B1");
    workbook.save("filtered.xlsx");
}

ページ設定とワークシート保護

PageSetup クラスは、用紙サイズ、ページの向き、およびページに合わせる設定を制御し、印刷用出力のために使用されます。
ワークシートの保護は protect()
WorksheetProtectionModel を使用して適用され、特定のセルは編集可能なままにし、ロックしながら
残りを保護します。ハイパーリンクは HyperlinkCollection を通じて管理されます。


クイックスタート

pom.xml に依存関係を追加してください:

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

主要な機能をすべて含むワークブックを20行未満で作成してください:

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

public class QuickStart {
    public static void main(String[] args) {
        try (Workbook workbook = new Workbook()) {
            Worksheet sheet = workbook.getWorksheets().get(0);
            sheet.setName("Sales");
            sheet.getCells().get("A1").putValue("Revenue");
            Cell b1 = sheet.getCells().get("B1");
            b1.putValue(42500.00);
            Style style = b1.getStyle();
            style.getFont().setBold(true);
            style.setCustom("#,##0.00");
            b1.setStyle(style);
            sheet.getAutoFilter().setRange("A1:B1");
            workbook.save("sales.xlsx");
        }
    }
}

サポートされている形式

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

保存は現在 .xlsx に限定されています。ライブラリは数式を保存および往復させますが、完全なスプレッドシート計算エンジンとしては機能しません。


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

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


はじめに