一般情况下,删除行时会面临两种情况:删除行内容但保留行位置、整行删除(删除后下方单元格上移)。对应的删除方法分别是:

void removeRow(Row row)//Remove a row from this sheet. All cells contained in the row are removed as wellpublic void shiftRows(int startRow,int endRow,int n)//Shifts rows between startRow and endRow n number of rows.

示例代码:

以下代码是使用removeRow()方法删除行内容但保留行位置。代码从d:\test.xls中的第一个sheet中删除了第一行。需要注意的是,改变是需要在workbook.write之后才生效的。

import org.apache.poi.hssf.usermodel.*;
import java.io.*;
public class testTools{public static void main(String[] args){try {FileInputStream is = new FileInputStream("d://test.xls");HSSFWorkbook workbook = new HSSFWorkbook(is);HSSFSheet sheet = workbook.getSheetAt(0);HSSFRow row = sheet.getRow(0);sheet.removeRow(row);FileOutputStream os = new FileOutputStream("d://test.xls");workbook.write(os);is.close();os.close();} catch (Exception e) { e.printStackTrace();}}
}

以下代码是使用shiftRow实现删除整行的效果。同样,也是需要在进行workbook.write后才会生效。

import org.apache.poi.hssf.usermodel.*;
import java.io.*;
public class testTools{  public static void main(String[] args){  try {  FileInputStream is = new FileInputStream("d://test.xls");  HSSFWorkbook workbook = new HSSFWorkbook(is);  HSSFSheet sheet = workbook.getSheetAt(0);  sheet.shiftRows(1, 4, -1);//删除第一行到第四行,然后使下方单元格上移  FileOutputStream os = new FileOutputStream("d://test.xls");  workbook.write(os);  is.close();  os.close();  } catch (Exception e) {   e.printStackTrace();  }  }
}

自己写的一个包装好了的删除excel行的方法(利用shiftRows上移来删除行):

 /** * Remove a row by its index * @param sheet a Excel sheet * @param rowIndex a 0 based index of removing row */
public static void removeRow(HSSFSheet sheet, int rowIndex) {  int lastRowNum=sheet.getLastRowNum();  if(rowIndex>=0&&rowIndex<lastRowNum)  sheet.shiftRows(rowIndex+1,lastRowNum,-1);//将行号为rowIndex+1一直到行号为lastRowNum的单元格全部上移一行,以便删除rowIndex行  if(rowIndex==lastRowNum){  HSSFRow removingRow=sheet.getRow(rowIndex);  if(removingRow!=null)  sheet.removeRow(removingRow);  }
}

java poi 操作Excel 删除行内容和直接删除行相关推荐

  1. Java - Poi 操作 Excel

    Java - Poi 操作 Excel 关注 "弋凡"(YiFan)微信公众号吧 记录简单笔记 做你的最爱 注意 XSSFWorkbook 对象是操作 .xlsx 格式的表格 HS ...

  2. poi操作excel之填充数据、删除行

    poi操作excel之填充数据.删除行 每篇一句励志:有人说,这世间有两种浪漫,一种是相濡以沫,另一种是相忘于江湖. 废话不多说,直接上代码! // 获取到你要填充数据的sheet XSSFSheet ...

  3. Java poi操作Excel单元格样式

    Java poi设置Excel单元格格式设置 XSSFWorkbook xwb = new XSSFWorkbook();或者 XSSFWorkbook xwb = new XSSFWorkbook( ...

  4. java poi操作excel 添加 锁定单元格保护

    Excel的book保护是很常用的,主要是不想让别人修改Excel的时候用.这样能够避免恶意随便修改数据,提高数据的可信度. 下面介绍JAVA POI来实现设置book保护: 使用HSSFSheet类 ...

  5. java poi 操作 excel 读取本地Excel / 保存excel到本地 / url下载excel

    pom.xml 配置poi版本 <dependency><groupId>org.apache.poi</groupId><artifactId>poi ...

  6. java POI操作Excel代码收藏 (包括标题垂直水平居中)

    [size=large][color=red][b]1.HSSF 2003版Excel导出[/b][/color][/size] package com.hwt.glmf.common; import ...

  7. Java POI操作Excel记录

    1.在excel中新增行和单元格 首先在excel中指定行之后新增单元格,如果后面还有行数据的话,则需要先执行sheet.shiftRows()操作,将后面的数据往下移动需要新增行的行数.然后再执行s ...

  8. execle java,Java使用POI操作Excel

    Java使用POI操作Excel 1. POI操作Excel 1.1. 依赖 org.apache.poi poi 4.1.0 org.apache.poi poi-ooxml 4.1.0 org.a ...

  9. java使用poi操作excel删除一整行

    java使用poi操作excel删除一整行 需求1:删除excel表格第4行 代码示例: sheet.shiftRows(4, sheet.getLastRowNum(),-1); 第一个参数为行数( ...

最新文章

  1. 【原创】用MySQL 生成随机密码-增加大写处理
  2. python装饰器实例-Python装饰器原理与简单用法实例分析
  3. 2021年辽宁省大学生数学建模竞赛题目A题_智慧停车的运营、管理规划
  4. matlab分类器函数
  5. 【Matlab】for循环进度条显示百分比进程和剩余时间
  6. 从零开始学习docker(十九)Swarm mode 集群服务间通信--RoutingMesh
  7. jquery validate表单验证插件
  8. linux系统安装arcsde,Linux操作系统安装ArcSDE10
  9. LeetCode 1678. 设计 Goal 解析器
  10. 这些智能合约漏洞,可能会影响你的账户安全!
  11. [EffectiveC++]item06:若不想使用编译器自动生成的函数,就该明确决绝
  12. 【操作系统】死等状态、忙等状态、有限等待、让权等待
  13. 网页设计师必备的35套最佳图标(免费下载)
  14. 建模算法(五)——图与网络
  15. LoadRunner函数的介绍
  16. dicom worklist、pacs环境搭建
  17. 如何有效阅读英文数据手册?
  18. linux更改网卡缓存,Linux 网卡驱动学习(四)(缓存描述符 Buffer Description)
  19. 怎么关闭fcitx的简繁切换和vscode的查找快捷键冲突了
  20. Showwindow 及参数

热门文章

  1. 【JZOJ100208】【20190705】传说之下
  2. Latex参考文献插入
  3. 快速查询出中通快运物流信息,将信息导出EXCEL表格
  4. PHP添加文字图片水印
  5. 3、mysql表的操作
  6. web读取身份证信息(java语言)
  7. 从1到N,第十二届中国IDC产业年度大典在京启幕
  8. linux中如何查看文件上下文,linux通过grep根据关键字查找日志文件上下文
  9. 润乾报表html图片自适应,润乾报表
  10. 模糊查询银行卡号mysql_mysql like查询字符串示例语句