大量のデータを含むExcelテーブルを操作する時、データの変更によって空白行・列が残ることがあります。その時になったら、Free Spire.XLS for Javaでなら解決できます。このライブラリを通してExcelワークシートにある空白行・列を一括で削除できます。今、その対策に関連するJavaコードを皆さんと共有させていただきます。
JARパッケージのインポート
方法1: Free Spire.XLS for Javaをダウンロードして解凍したら、libフォルダーのSpire.Xls.jarパッケージを依存関係としてJavaアプリケーションにインポートします。
方法2: Mavenリポジトリから直接にJARパッケージをインストールしたら、pom.xmlファイルを次のように構成します。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>http://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.xls.free</artifactId>
<version>3.9.1</version>
</dependency>
</dependencies>
Javaコード
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
public class DeleteBlankRowsAndColumns {
public static void main(String[] args) {
//Excelドキュメントを読み込みます
Workbook wb = new Workbook();
wb.loadFromFile("sample1.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("deleteBlank.xlsx", ExcelVersion.Version2016);
}
}