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>14.4.4</version>
</dependency>
</dependencies>
Excel ワークシートの空白行と列を削除する
Spire.XLS for Java は、XlsRange.isBlank() メソッドを提供して、指定された範囲が空白かどうかを判断します。開発者はこのメソッドを使用して、行または列が空白かどうかを判断し、空白の行または列を削除できます。
Spire.XLS for Java を使用して Excel ワークシートから空白の行と列を削除する手順を以下に示します。
- Workbook のオブジェクトを作成します。
- Workbook.loadFromFile() メソッドを使用して Excel ドキュメントを読み込みます。
- Workbook.getWorksheets().get() メソッドを使用して、指定したワークシートを取得します。
- XlsRange.isBlank() メソッドを使用して、指定されたワークシートで使用されているすべての行をループし、行が空白かどうかを判断します。
- Worksheet.deleteRow() メソッドを使用して、空白行を削除します。
- 指定されたワークシートで使用されているすべての列をループ処理し、XlsRange.isBlank() メソッドを使用して列が空白かどうかを判定します。
- Worksheet.deleteColumn() メソッドを使用して、空白列を削除します。
- Workbook.saveToFile() メソッドを使用して、結果を別のファイルに保存します。
- Java
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
public class RemoveBlankExcel {
public static void main(String[] args) {
// Workbookオブジェクトを作成する
Workbook wb = new Workbook();
// サンプルのExcelドキュメントを読み込む
wb.loadFromFile("サンプル.xlsx");
// 最初のワークシートを取得する
Worksheet sheet = wb.getWorksheets().get(0);
// 使用されているすべての行をループする
for (int i = sheet.getLastRow(); i >= 1; i--) {
// 行が空白かどうかを検出する
if (sheet.getRows()[i - 1].isBlank()) {
// 空白の行を削除する
sheet.deleteRow(i);
}
}
// 使用されているすべての列をループする
for (int j = sheet.getLastColumn(); j >= 1; j--) {
// 列が空白かどうかを検出する
if (sheet.getColumns()[j - 1].isBlank()) {
// 空白の列を削除する
sheet.deleteColumn(j);
}
}
// ドキュメントを保存する
wb.saveToFile("output/空白行と空白列の削除.xlsx", ExcelVersion.Version2016);
wb.dispose();
}
}
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。