はじめに

Aspose.Cells FOSS for Java は、pure-Java 17 の MIT ライセンスライブラリで、Microsoft Office に依存せずに Excel .xlsx ワークブックを作成・操作できます。本稿では、最も一般的なスプレッドシート管理操作であるワークブックの作成、ファイルの読み込み、セルの操作、結果の保存について解説します。

クイックスタート

開始するには、pom.xml に Maven 依存関係を追加してください:

<dependency>
  <groupId>org.aspose</groupId>
  <artifactId>aspose-cells-foss</artifactId>
  <version>26.5.0</version>
</dependency>

ライセンスファイルや API キーは不要です。このライブラリは MIT の下で完全にオープンソースです。


ワークブックの作成

Workbook() コンストラクタは、デフォルトシートが1つの新しい空のワークブックを作成します:

import com.aspose.cells.foss.Workbook;
import com.aspose.cells.foss.Worksheet;

Workbook workbook = new Workbook();
WorksheetCollection sheets = workbook.getWorksheets();
Worksheet sheet = sheets.get(0);
System.out.println(sheet.getName()); // Sheet1

名前付きシートを追加するには WorksheetCollection.add(sheetName) を使用し、削除するには removeAt(sheetName) を使用します:

int idx = workbook.getWorksheets().add("Report");
workbook.getWorksheets().get(idx).setName("Report");
workbook.getWorksheets().removeAt("Sheet1");

既存ファイルの読み込み

ファイルパスを Workbook(fileName) に渡すと、既存の .xlsx ワークブックを開きます:

Workbook workbook = new Workbook("data/report.xlsx");
System.out.println("Sheets: " + workbook.getWorksheets().getCount());

入力ストリーム(データベースや HTTP のレスポンスなど)の場合は、Workbook(stream) を使用します:

try (java.io.InputStream is = new java.io.FileInputStream("data/report.xlsx")) {
    Workbook workbook = new Workbook(is);
}

セルの読み取りと書き込み

Worksheet.getCells()Cells コレクションを返します。個々のセルは名前またはゼロベースの行/列インデックスでアクセスできます:

import com.aspose.cells.foss.Cells;
import com.aspose.cells.foss.Cell;

WorksheetCollection sheets = workbook.getWorksheets();
Cells cells = sheets.get(0).getCells();

// Write by cell name
cells.get("A1").putValue("Product");
cells.get("B1").putValue("Revenue");

// Write by row/column index
cells.get(1, 0).putValue("Widget A");   // A2
cells.get(1, 1).putValue(45000);        // B2

// Read back
String name = cells.get("A2").getStringValue();
Object rev  = cells.get("B2").getValue();
System.out.println(name + ": " + rev);

数式の設定

セルに数式文字列を格納するには Cell.setFormula() を使用します。数式はブックが保存され、再読み込みされたときに評価されます:

cells.get("B3").setFormula("=SUM(B2:B2)");
System.out.println(cells.get("B3").getFormula()); // =SUM(B2:B2)

数式の結果はブックが保存され、再読み込みされたときに解決されます。


ブックの保存

Workbook.save(fileName) はブックを書き込みます。形式はファイル拡張子によって決まります(.xlsx は Excel 2007 以降のファイルを生成します):

workbook.save("output/result.xlsx");

大きなブックは常に try-with-resources でラップして、ファイルハンドルを速やかに解放してください:

try (Workbook workbook = new Workbook("data/input.xlsx")) {
    workbook.getWorksheets().get(0).getCells().get("A1").putValue("Updated");
    workbook.save("data/output.xlsx");
}

次に探すべきこと

Aspose.Cells FOSS for Java には、セル操作を超えるワークシートレベルの操作向け API が含まれています:

  • ワークシート保護: protect() / unprotect() on Worksheet
  • AutoFilter: Worksheet.getAutoFilter() プログラムによるデータフィルタリング用
  • セルスタイル: Cell.getStyle() / setStyle() with Style properties
  • 結合されたセル: Cells.merge(firstRow, firstColumn, totalRows, totalColumns)

完全な API ウォークスルーについては、developer guideAPI reference をご覧ください。

開始ガイド

上記の例は、Aspose.Cells FOSS における Java の最も一般的なスプレッドシート管理タスクをカバーしています。検証、チャート、フォーマットを含む完全な API ウォークスルーについては、developer guide をご覧ください。

関連リソース