Excel は大量のデータをすばやく保存し、秩序あるスプレッドシートに編成することができます。しかし、データを次々と手動でセルに入力すると、非常に時間がかかります。プログラミングによって Excel ファイルを自動的に作成することで、多くの時間と精力を節約することができます。この記事では、Spire.XLS for Java を使用して Excel ワークシートにデータを書き込む方法を紹介します。
Spire.XLS for Java をインストールします
まず、Spire.XLS for Java を Java プロジェクトに追加する必要があります。JAR ファイルは、このリンクからダウンロードできます。Maven を使用する場合は、次のコードをプロジェクトの pom.xml ファイルに追加する必要があります。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url> https://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.xls</artifactId>
<version>12.9.1</version>
</dependency>
</dependencies>
テキストまたは数値を特定のセルに書き込む
Worksheet.get(int row, int column) メソッドを利用して、指定されたセル範囲を取得できます。次に、IXLSRange.setValue() または IXLSRange.setNumberValue() メソッドを使用して、セルにテキスト値または数値を追加します。具体的な操作手順を示します。
- Workbook オブジェクトを作成します。
- Workbook.getWorksheets().get() メソッドを使用して最初のワークシートを取得します。
- Workhseet.get() メソッドを使用して特定のセルを取得します。
- IXLSRange.setValue() または IXLSRange.setNumberValue() メソッドを使用して、セルにテキスト値または数値を追加します。
- Workbook.saveToFile() メソッドを使用して Excel にワークブックを保存します。
- Java
import com.spire.xls.*;
public class WriteToCells {
public static void main(String[] args) {
//Workbookオブジェクトを作成する
Workbook workbook = new Workbook();
//最初のワークシートを取得する
Worksheet worksheet = workbook.getWorksheets().get(0);
//セルにテキスト値または数値を追加する
worksheet.get(1,1).setValue("名前");
worksheet.get(1,2).setValue("年齢");
worksheet.get(1,3).setValue("部門");
worksheet.get(1,4).setValue("雇用日");
worksheet.get(2,1).setValue("田中");
worksheet.get(2,2).setNumberValue(29);
worksheet.get(2,3).setValue("営業部");
worksheet.get(2,4).setValue("2019-07-01");
worksheet.get(3,1).setValue("小野");
worksheet.get(3,2).setNumberValue(31);
worksheet.get(3,3).setValue("技術部");
worksheet.get(3,4).setValue("2015-04-27");
//列幅を自動調整する
worksheet.getAllocatedRange().autoFitColumns();
//スタイルを最初の行に適用する
CellStyle style = workbook.getStyles().addStyle("newStyle");
style.getFont().isBold(true);
worksheet.getRange().get(1,1,1,4).setStyle(style);
//Excelにを保存する
workbook.saveToFile("output/WriteToCells.xlsx", ExcelVersion.Version2016);
}
}
ワークシートに配列を書き込む
Spire.XLS for Java は提供する Worksheet.insertArrary() メソッド、プログラマがワークシートの指定されたセル範囲に一次元配列と二次元配列を書き込むことをサポートします。具体的な操作手順を示します。
- Workbook オブジェクトを作成します。
- Workbook.getWorksheets().get() メソッドを使用して最初のワークシートを取得します。
- 一次元配列と二次元配列を作成します。
- Worksheet.insertArray() メソッドを使用して、ワークシートに配列を挿入します。
- Workbook.saveToFile() メソッドを使用してExcelにワークブックを保存します。
- Java
import com.spire.xls.*;
public class WriteArrayToWorksheet {
public static void main(String[] args) {
//Workbookオブジェクトを作成する
Workbook workbook = new Workbook();
//最初のワークシートを取得する
Worksheet worksheet = workbook.getWorksheets().get(0);
//一次元配列を作成する
String[] oneDimensionalArray = new String[]{"一月", "二月", "三月", "四月","五月", "六月"};
//配列をワークシートの最初の行に書き込む
worksheet.insertArray(oneDimensionalArray, 1, 1, false);
//二次元配列を作成する
String[][] twoDimensionalArray = new String[][]{
{"名前", "年齢", "性別", "部門", "電話番号"},
{"田中", "25", "男", "営業部","654214"},
{"小野", "24", "男", "技術部","624847"},
{"山田", "26", "女", "営業部","624758"}
};
//セルA 3から始まるワークシートに配列を書き込む
worksheet.insertArray(twoDimensionalArray, 3, 1);
//列幅を自動調整する
worksheet.getAllocatedRange().autoFitColumns();
//スタイルを最初の行と3の行に適用する
CellStyle style = workbook.getStyles().addStyle("newStyle");
style.getFont().isBold(true);
worksheet.getRange().get(1,1,1,6).setStyle(style);
worksheet.getRange().get(3,1,3,6).setStyle(style);
//Excelにを保存する
workbook.saveToFile("output/WriteArrays.xlsx", ExcelVersion.Version2016);
}
}
データテーブルをワークシートに書き込む
Worksheet.insertDataTable() メソッドを使用して、データテーブルからワークシートへデータをインポートします。具体的な操作手順を示します。
- Workbook オブジェクトを作成します。
- Workbook.getWorksheets().get() メソッドを使用して最初のワークシートを取得します。
- DataTable を作成し、Worksheet.insertDataTable() メソッドを使用して、指定した場所のワークシートにデータテーブルを書き込みます。
- Workbook.saveToFile() メソッドを使用して Excel にワークブックを保存します。
- Java
import com.spire.data.table.DataRow;
import com.spire.data.table.DataTable;
import com.spire.xls.*;
public class WriteDataTableToWorksheet {
public static void main(String[] args) throws Exception {
//Workbookオブジェクトを作成する
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("価格", String.class);
//行を作成し、データを追加する
DataRow dr = dataTable.newRow();
dr.setInt(0, 512900512);
dr.setString(1,"携帯電話");
dr.setString(2," ¥50,000 ");
dataTable.getRows().add(dr);
dr = dataTable.newRow();
dr.setInt(0,512900637);
dr.setString(1,"カメラ");
dr.setString(2," ¥80,000");
dataTable.getRows().add(dr);
dr = dataTable.newRow();
dr.setInt(0,512901829);
dr.setString(1,"キーボード");
dr.setString(2," ¥30,000");
dataTable.getRows().add(dr);
dr = dataTable.newRow();
dr.setInt(0,512900386);
dr.setString(1,"マウス");
dr.setString(2," ¥25,000");
dataTable.getRows().add(dr);
//データテーブルをワークシートに書き込む
worksheet.insertDataTable(dataTable,true,1,1,true);
//特定の範囲の列幅を自動調整する
worksheet.getAllocatedRange().autoFitColumns();
//スタイルを最初の行に適用する
CellStyle style = workbook.getStyles().addStyle("newStyle");
style.getFont().isBold(true);
worksheet.getRange().get(1,1,1,3).setStyle(style);
//Excelにを保存する
workbook.saveToFile("output/WriteDataTable.xlsx", ExcelVersion.Version2016);
}
}
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。