Возможно, вы сталкивались с ситуациями, когда вам необходимо удалить пустые строки/столбцы с рабочего листа или удалить строки/столбцы, содержащие определенные ключевые слова. В этой статье я покажу вам, как удалить указанную строку/столбец и как пакетно удалить некоторые специфические строки/столбцы с помощью Free Spire. XLS для Java.
Добавить Spire.Xls.jar как зависимость
Способ 1: Скачать Бесплатный Шпиль. XLS для Java package, распакуйте его, и вы получите Spire.Doc.jar файл из папки “lib”. Импортируйте файл jar в свой проект как зависимость.
Способ 2: Если вы создаете проект Maven, вы можете легко добавить зависимость jar, добавив следующие конфигурации в pom.xml .
com.e-iceblue e-iceblue http://repo.e-iceblue.com/nexus/content/groups/public/ e-iceblue spire.xls.free 2.2.0
Пример 1. Удалить указанные строки и столбцы
import com.spire.xls.ExcelVersion; import com.spire.xls.Workbook; import com.spire.xls.Worksheet; public class DeleteSpecifiedRowsAndColumns { public static void main(String[] args) { //Load the sample document Workbook wb = new Workbook(); wb.loadFromFile("C:\\Users\\Administrator\\Desktop\\test1.xlsx"); //Get the first worksheet Worksheet sheet = wb.getWorksheets().get(0); //Delete specific row by index sheet.deleteRow(4); //Delete specific column by index sheet.deleteColumn(5); //Save the file wb.saveToFile("DeleteSpecificRowsAndColumns.xlsx", ExcelVersion.Version2016); } }
Выход
Пример 2. Удаление пустых строк и столбцов
import com.spire.xls.ExcelVersion; import com.spire.xls.Workbook; import com.spire.xls.Worksheet; public class DeleteBlankRowsAndColumns { public static void main(String[] args) { //Load the sample document Workbook wb = new Workbook(); wb.loadFromFile("C:\\Users\\Administrator\\Desktop\\test2.xlsx"); //Get the first worksheet Worksheet sheet = wb.getWorksheets().get(0); //Loop through the rows for (int i = sheet.getLastRow(); i >= 1; i--) { //Detect if a row is blank if (sheet.getRows()[i-1].isBlank()) { //Remove 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 blank column sheet.deleteColumn(j); } } //Save the file wb.saveToFile("DeleteBlankRowsAndColumns.xlsx", ExcelVersion.Version2016); } }
Выход
Пример 3. Удалять строки, содержащие ключевые слова
import com.spire.xls.*; import java.util.ArrayList; import java.util.List; public class DeleteRowsByKeyword { public static void main(String[] args) { //Load the sample document Workbook wb = new Workbook(); wb.loadFromFile("C:\\Users\\Administrator\\Desktop\\test3.xlsx"); //Get the first worksheet Worksheet sheet = wb.getWorksheets().get(0); //Call getRowList method to get the rows containing the keyword Listlist = getRowList(sheet,"Hello World"); //Loop through the list for (int i = 0; i < list.size(); i++) { //Delete the specified row sheet.deleteRow(list.get(i)); } //Save the file wb.saveToFile("DeleteRowByKeywords.xlsx",ExcelVersion.Version2016); } //Create getRowList method to get the numbers of the rows containing keyword static List getRowList(Worksheet sheet, String keyword) { int rowNum; List rowList = new ArrayList<>(); for (int i = sheet.getLastRow(); i >= 1; i--) { rowNum = i; for (int j = sheet.getLastColumn(); j >= 1; j--) { if (sheet.get(i, j).getText().contains(keyword)) { rowList.add(rowNum); break; } } } return rowList; } }
Выход
Оригинал: “https://dev.to/eiceblue/how-to-delete-excel-rows-and-columns-in-java-23mp”