最後の列のセル値を検索しています。セルの値が「無効」または「該当なし」の場合、行全体を削除します。
これまでに書いたコードは次のとおりです。
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.apache.poi.ss.usermodel.Workbook;
public class Column
{
    public static void main(String[] args) throws InvalidFormatException, FileNotFoundException, IOException
    {
        try
        {
            Workbook wb = WorkbookFactory.create(new FileInputStream("C:/Users/Excel1.xlsx"));
            Sheet sheet = wb.getSheet("Retail-All");
            Workbook wb2 = new HSSFWorkbook();
            wb2 = wb;
            Row row;
            row = sheet.getRow(0);
            int getLastCell=row.getLastCellNum()-1;
            int lastIndex = sheet.getLastRowNum();
            for (int i=0; i<=lastIndex; i++)
            {
                row=sheet.getRow(i);
                if(row.getCell(getLastCell)!=null && (row.getCell(getLastCell).toString().equalsIgnoreCase("Not valid) || row.getCell(getLastCell).toString().equalsIgnoreCase("Not Applicable")))
                {
                    sheet.removeRow(row);
                    //sheet.shiftRows(i, lastIndex, -1);
                }
            }
            FileOutputStream fileOut = new FileOutputStream("C:/Users/shiftRows.xlsx");
            wb2.write(fileOut);
            fileOut.close();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }
}
上記のコードでは、row.setZeroHeight(true); を使用しています。メソッドで行を非表示にできます。
上記のコードでは、sheet.removeRow(row); を使用しています。method 特定の行のすべてのセルを空にすることができます。
ネットでいくつかのコードを見つけましたが、行を完全に削除するコードはありません。私の要件は、行を完全に削除することです。私の要件を満たすようにコーディングする方法は?