無料のFree Spire.XLS for Javaを使用すると、プログラムで簡単にExcelワークシートの行や列を挿入したり削除したりすることができます。今回は、JavaアプリケーションでExcelワークシートの行や列を挿入・削除する方法を、以下の部分から紹介します。
【依存関係の追加】
この方法は、無料のFree Spire.XLS for Javaが必要ですので、先にjarファイルをインポートしてください。
1. Maven
Maven を使用している場合、プロジェクトの pom.xml ファイルに以下のコードを追加することで、簡単にアプリケーションに JAR ファイルをインポートすることができます。
<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.free</artifactId>
<version>5.1.0</version>
</dependency>
</dependencies>
2. 公式サイトよりJarファイルをダウンロード
まず、Free Spire.XLS for Javaの公式サイトよりzipファイルをダウンロードします。zipファイルを解凍し、libフォルダの下にあるSpire.Xls.jarファイルを依存関係としてプロジェクトにインポートしてください。
Excelワークシートに行を挿入する
Free Spire.XLS for Javaでは、Excelワークシートに行を挿入するための Worksheet.insertRow() メソッドを提供しています。ここでは、Excelのワークシートに行を挿入する手順を説明します。
- Workbook クラスのインスタンスを作成し、Workbook.loadFromFile() メソッドを使用してExcelドキュメントを読み込みます。
- Workbook.getWorksheets().get() メソッドを使用して、指定したワークシートを取得します。
- Worksheet.insertRow(int rowIndex) メソッドを使用して、行を挿入します。
- Worksheet.insertRow(int rowIndex, rowCount) メソッドを使用して複数行を挿入します。
- Workbook.saveToFile() メソッドを使用して、ワークブックをファイルに保存します。
Java
import com.spire.xls.*;
public class insertRows {
public static void main(String[] args) {
//Workbookクラスのインスタンスを作成し、Excelワークブックを読み込む
Workbook workbook = new Workbook();
workbook.loadFromFile("家財道具の一覧.xlsx");
//1つ目のワークシートを取得する
Worksheet worksheet = workbook.getWorksheets().get(0);
//ワークシートに行を挿入する
worksheet.insertRow(5);
//ワークシートに複数の行を挿入する
worksheet.insertRow(8, 2);
//ワークブックを保存する
workbook.saveToFile("行の挿入.xlsx", ExcelVersion.Version2013);
}
}
Excelワークシートに列を挿入する
Free Spire.XLS for Javaは、Excelワークシートに列を挿入する Worksheet.insertColumn() メソッドを提供しています。以下は、Javaでワークシートに列を挿入する手順です。
- Workbook クラスのインスタンスを作成し、Workbook.loadFromFile() メソッドを使用してExcelドキュメントを読み込みます。
- Workbook.getWorksheets().get() メソッドを使用して、指定したワークシートを取得します。
- Worksheet.insertColumn(int columnIndex) メソッドを用いて、列を挿入します。
- Worksheet.insertColumn(int columnIndex, columnCount) メソッドを使用して、複数の列を挿入します。
- Workbook.saveToFile() メソッドを使用して、ワークブックをファイルに保存します。
Java
import com.spire.xls.*;
public class insertColumn {
public static void main(String[] args) {
//Workbookクラスのインスタンスを作成し、Excelワークブックを読み込む
Workbook workbook = new Workbook();
workbook.loadFromFile("家財道具の一覧.xlsx");
//1つ目のワークシートを取得する
Worksheet worksheet = workbook.getWorksheets().get(0);
//ワークシートに列を挿入する
worksheet.insertColumn(3);
//ワークシートに複数の列を挿入する
worksheet.insertColumn(5, 2);
//ワークブックを保存する
workbook.saveToFile("列の挿入.xlsx", ExcelVersion.Version2013);
}
}
Excelワークシートの行と列を削除する
Excelシートに列を追加する手順は、行を追加する手順と似ています。行と列の削除の手順も同様です。ここでは、JavaでExcelのワークシートから行と列を削除する手順を説明します。
- Workbook クラスのインスタンスを作成し、Workbook.loadFromFile() メソッドを使用してExcelドキュメントを読み込みます。
- Workbook.getWorksheets().get() メソッドを使用して、指定したワークシートを取得します。
- Worksheet.deleteRow(index) メソッドで行を削除します。
- Worksheet.deleteColumn(index, count) メソッドを使用して、複数の列を削除します。
- Workbook.saveToFile() メソッドを使用して、ワークブックをファイルに保存する。
Java
import com.spire.xls.*;
public class deleteRowsColumns {
public static void main(String[] args) {
//Workbookクラスのインスタンスを作成し、Excelワークブックを読み込む
Workbook workbook = new Workbook();
workbook.loadFromFile("家財道具の一覧.xlsx");
//1つ目のワークシートを取得する
Worksheet worksheet = workbook.getWorksheets().get(0);
//3行目を削除する
worksheet.deleteRow(4);
//5列目から2つの列を削除する
worksheet.deleteColumn(5, 2);
//ワークブックを保存する
workbook.saveToFile("行と列の削除.xlsx", ExcelVersion.Version2013);
}
}
Excelワークシートの空白の行と列を削除する
プログラマーとして、Excelワークシートの空白の行や列をすべて削除しなければならない場面に出くわすことがあります。Free Spire.XLS for Javaは、すべての空白の行と列を削除することもサポートしています。
- Workbook クラスのインスタンスを作成し、Workbook.loadFromFile() メソッドを使用してExcelドキュメントを読み込みます。
- Workbook.getWorksheets().get() メソッドを使用して、指定されたワークシートを取得します。
- すべての行をループして、worksheet.getRows().isBlank() メソッドを使用して、行が空白であるかどうかをチェックします。
- もしそうなら、Worksheet.deleteRow() メソッドを使用して、空白の行を削除します。
- 列が空白であるかどうかを確認するには、Worksheet.getColumns().isBlank() メソッドを使用します。
- もしそうなら、Worksheet.deleteColumn() メソッドを使用して、空白の列を削除します。
- Workbook.saveToFile() メソッドを使用して、ワークブックをファイルに保存します。
Java
import com.spire.xls.*;
public class deleteBlankRowsColumns {
public static void main(String[] args) {
//Workbookクラスのインスタンスを作成し、Excelワークブックを読み込む
Workbook workbook = new Workbook();
workbook.loadFromFile("空白行と空白列.xlsx");
//1つ目のワークシートを取得する
Worksheet worksheet = workbook.getWorksheets().get(0);
//ワークシートから空白行を削除する
for (int i = worksheet.getRows().length - 1; i >= 0; i--) {
if (worksheet.getRows()[i].isBlank()) {
worksheet.deleteRow(i + 1);
}
}
//ワークシートから空白列を削除する
for (int j = worksheet.getColumns().length - 1; j >= 0; j--) {
if (worksheet.getColumns()[j].isBlank()) {
worksheet.deleteColumn(j + 1);
}
}
//ワークブックを保存する
workbook.saveToFile("空白行・空白列の削除.xlsx", ExcelVersion.Version2013);
}
}
Free Spire.XLS for Javaは、Excelファイルの変換や、その他多くの編集作業を行うことができます。 Excelワークブックの操作については、Spire.XLS Forumをご覧ください。