[英]Delete a row in excel .xlsx using Java
我正在嘗試使用 java 刪除 excel 表中的一行。
但是我的代碼沒有刪除任何東西。
這是我刪除最后一行的代碼。
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.apache.poi.ss.usermodel.Sheet;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
final String filepath = "data-DB.xlsx";
File workbookFile = new File(filepath);
FileInputStream in = new FileInputStream(workbookFile);
Workbook database = WorkbookFactory.create(in);
Sheet sheet = database.getSheet("Users");
int lastRow = sheet.getLastRowNum();
Row row = sheet.getRow(lastRow);
sheet.removeRow(row);
}
}
這一行應該得到該行
Row row = sheet.getRow(lastRow);
這應該刪除該行。
sheet.removeRow(row);
我究竟做錯了什么?
getLastRowNum
的文檔說:
獲取工作表上的最后一行 注意:之前有內容並稍后設置為空的行可能仍會被 Excel 和 Apache POI 計為行,因此此方法的結果將包括此類行,因此返回值可能更高超出預期!
所以很可能你會得到一個已經為空的行號,並且你正在嘗試刪除它,並且你看到removeRow
不起作用。 打印或調試lastRow
的值以修復錯誤
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.