データ処理と管理の分野において、Excel はその強力な機能と幅広い応用から、データの保存と表示の重要なツールとなっています。Java 開発の過程では、テキスト、数値、配列、DataTable データなど、さまざまなタイプのデータを Excel ファイルに書き込み、さまざまなビジネスニーズに対応する必要がしばしばあります。
この記事では、無料の Java ライブラリを使用して、プログラムからExcel のセルにデータを書き込む方法を紹介します。
無料の Java ライブラリをインストールする
コーディングを始める前に、プロジェクトに Free Spire.XLS for Java という無料のライブラリをインストールする必要があります。このライブラリはさまざまな Excel 処理機能をサポートしており、Excel ファイルの作成、読み取り、修正、変換を簡単に行うことができます。
Maven プロジェクトを使用している場合は、pom.xml に以下の依存関係を追加することができます。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.xls.free</artifactId>
<version>5.3.0</version>
</dependency>
また、以下のリンクから製品パッケージをダウンロードし、手動でJARパッケージをインポートすることもできます。
Java サンプル:Excel セルにテキストまたは数値を書き込む
指定したセルにデータを書き込む方法は 2 通りあります。
- テキストを書き込む:Worksheet.get().setText() または Worksheet.get().setValue() メソッドを使用します。
- 数値を書き込む:Worksheet.get().setNumberValue() メソッドを使用します。
import com.spire.xls.*;
public class WriteTextNumber {
public static void main(String[] args) {
// Excelワークブックを作成する
Workbook workbook = new Workbook();
// その中の最初のワークシートを取得する
Worksheet worksheet = workbook.getWorksheets().get(0);
// 指定されたセルにデータを書き込む
worksheet.get("A1").setText("商品ID");
worksheet.get("B1").setText("商品名");
worksheet.get("C1").setValue("在庫状況");
worksheet.get("D1").setValue("数量");
worksheet.get("A2").setValue("SP-001");
worksheet.get("B2").setText("商品A");
worksheet.get("C2").setText("在庫補充");
worksheet.get("D2").setNumberValue(80);
worksheet.get("A3").setValue("SP-002");
worksheet.get("B3").setText("商品B");
worksheet.get("C3").setText("使用中");
worksheet.get("D3").setNumberValue(102);
// フォントスタイルを設定する
worksheet.get("A1:D1").getStyle().getFont().isBold(true);
worksheet.get("A1:D3").getStyle().getFont().setSize(11);
// Excelファイルを保存する
workbook.saveToFile("WriteData.xlsx", ExcelVersion.Version2016);
}
}
Java サンプル:配列をExcelシートに書き込む
一次元または二次元配列については、Worksheet.insertArray(Object[][] objectArray, int firstRow, int firstColumn) メソッドを使用して、配列内のデータをワークシートの指定位置に挿入することができます。
import com.spire.xls.*;
public class WriteArrayToWorksheet {
public static void main(String[] args) {
// Excelワークブックを作成する
Workbook workbook = new Workbook();
// その中の最初のワークシートを取得する
Worksheet worksheet = workbook.getWorksheets().get(0);
// 二次元配列の作成
String[][] twoDimensionalArray = new String[][]{
{"SKU", "説明", "購入日", "購入価格"},
{"SP7875", "品目 1", "2024/1/31", "2000"},
{"TR87680", "品目 2", "2024/3/10", "1500"},
{"MK676554", "品目 3", "2024/3/25", "560"}
};
// ワークシートに配列を書き込む
worksheet.insertArray(twoDimensionalArray, 1, 1);
// フォントスタイルの設定
worksheet.get("A1:D1").getStyle().getFont().isBold(true);
worksheet.get("A1:D4").getStyle().getFont().setSize(11);
// Excelファイルを保存する
workbook.saveToFile("InsertArrays.xlsx", ExcelVersion.Version2016);
}
}
Java サンプル:DataTable を Excel シートに書き込む
DataTable クラスを定義してデータテーブルを表現し、データ行を追加することができます。その後、Worksheet.insertDataTable(DataTable dataTable, boolean columnHeaders, int firstRow, int firstColumn, boolean transTypes) メソッドを使用して、DataTable のデータをワークシートの指定位置に挿入します。
import com.spire.data.table.DataRow;
import com.spire.data.table.DataTable;
import com.spire.xls.*;
import java.text.DecimalFormat;
public class WriteDataTableToWorksheet {
public static void main(String[] args) throws Exception {
// Excelワークブックを作成する
Workbook workbook = new Workbook();
// その中の最初のワークシートを取得する
Worksheet worksheet = workbook.getWorksheets().get(0);
// DataTableオブジェクトの作成
DataTable dataTable = new DataTable();
dataTable.getColumns().add("シリアル番号", Integer.class);
dataTable.getColumns().add("商品", String.class);
dataTable.getColumns().add("単価", DecimalFormat.class);
// 行を作成し、データを追加する
DataRow dr = dataTable.newRow();
dr.setInt(0, 556788);
dr.setString(1, "データケーブル");
dr.setString(2, "8.5");
dataTable.getRows().add(dr);
dr = dataTable.newRow();
dr.setInt(0, 768087);
dr.setString(1, "ワイヤレスマウス");
dr.setString(2, "59.9");
dataTable.getRows().add(dr);
dr = dataTable.newRow();
dr.setInt(0, 336813);
dr.setString(1, "ネットワークケーブル");
dr.setString(2, "15.5");
dataTable.getRows().add(dr);
// データ・テーブルをワークシートに書き込む
worksheet.insertDataTable(dataTable, true, 1, 1, true);
// フォントスタイルの設定
worksheet.get("A1:D1").getStyle().getFont().isBold(true);
worksheet.get("A1:D4").getStyle().getFont().setSize(11);
// 保存Excel文件
workbook.saveToFile("WriteDataTable.xlsx", ExcelVersion.Version2016);
}
}
まとめ
上記の例を使って、Java プログラミング言語を通じてさまざまなデータを Excel テーブルに書き込むことができます。
Free Spire.XLS for Java は無料のライブラリで、Excel 内のデータのさらなる分析や、チャートなどの要素を挿入することもサポートしています。ご興味があれば、以下のオンラインドキュメントを確認してください。