Как удалить пустые строки и столбцы в Excel на Java
Пустые строки и столбцы могут возникать при работе с большими электронными таблицами или при импорте данных из внешних источников. Эти пустые ячейки могут влиять на операции анализа, сортировки и фильтрации данных. Пустые строки или столбцы в Excel также могут создать у клиента впечатление непрофессиональности. Поэтому необходимо определять наличие пустых строк и столбцов на рабочем листе и удалять их, если они есть. В данной статье показано, как программно реализовать эту возможность на языке Java с помощью Free Spire.XLS for Java.
Установка свободного файла Spire.Xls.jar
Если вы используете Maven, вы можете легко импортировать этот jar в свое приложение, добавив следующий код в файл pom.xml вашего проекта. Для проектов, не использующих Maven, загрузите jar-файл по этой ссылке и добавьте его в качестве зависимости в свое приложение.

Удаление пустых строк и столбцов в Excel на Java
Free Spire.Doc for Java предлагает метод Worksheet.getRows() и метод Worksheet.getColumns() для получения коллекции CellRange. Затем можно определить, является ли определенный диапазон ячеек (вся строка или столбец) пустым, используя метод isBlank() интерфейса IXLSRange.
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
public class DeleteBlankRowsAndColumns {
public static void main(String[] args) {
//Create a Workbook object
Workbook wb = new Workbook();
//Load the sample document
wb.loadFromFile("C:\Users\Administrator\Desktop\sample.xlsx");
//Get the first worksheet
Worksheet sheet = wb.getWorksheets().get(0);
//Loop through the rows
for (int i = sheet.getLastRow(); i >= 1; i—)
{
//Determine if a row is blank
if (sheet.getRows()[i-1].isBlank())
{
//Remove the blank row
sheet.deleteRow(i);
}
}
//Loop through the columns
for (int j = sheet.getLastColumn(); j >= 1; j—)
{
//Detect if a column is blank
if (sheet.getColumns()[j-1].isBlank())
{
//Remove the blank column
sheet.deleteColumn(j);
}
}
//Save the document
wb.saveToFile("DeleteBlankRowsAndColumns.xlsx", ExcelVersion.Version2016);
}
}
