Рубрики
Без рубрики

Как удалить строки и столбцы Excel в Java

В этой статье показано, как удалить указанные строки / столбцы и как удалить некоторые специфические строки / столбцы в Java. Помеченный как java, excel, удалить, строка.

Возможно, вы сталкивались с ситуациями, когда вам необходимо удалить пустые строки/столбцы с рабочего листа или удалить строки/столбцы, содержащие определенные ключевые слова. В этой статье я покажу вам, как удалить указанную строку/столбец и как пакетно удалить некоторые специфические строки/столбцы с помощью 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
        List list = 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”