java使用poi操作excel删除一整行
需求1:删除excel表格第4行
代码示例:
sheet.shiftRows(4, sheet.getLastRowNum(),-1);
第一个参数为行数(这里表示第5行,下标从0开始),第二个参数是最后一行,第三个参数-1表示向上移一行。从第5行开始到最后一行都向上移动1行,会把第四行覆盖掉,实现删除指定行的效果。
需求2:读取指定单元格数据(第5行第4列)
代码示例:
Cell cell = sheet.getRow(4).getCell(3);
因为下标从0开始,所以要减1。
需求3:读取第6行第3列单元格的数据,如果为内容为张三则删除整行
代码示例:
public static void main(String[] args) throws IOException {
FileInputStream is = new FileInputStream("d:/test.xls");
HSSFWorkbook workbook = new HSSFWorkbook(is);
HSSFSheet sheet = workbook.getSheetAt(0);
if(sheet.getRow(5).getCell(2).toString().equals("张三")){
//从第7行开始到最后一行都向上移动一行,覆盖掉第6行
sheet.shiftRows(6, sheet.getLastRowNum(),-1);
}
FileOutputStream os = new FileOutputStream("d:/test.xls");
workbook.write(os);
is.close();
os.close();
}