java去除多余excel_java使用poi删除excel中的空行
根据自己实际操作,poi中lastRowNum方法获取行数的是excel最后有数据的一行,从0开始
而physicalNumberOfRows方法获取的行数是excel最后有数据的一行减去最后一行之前的空白行
工作中有一个需求是,上传excel文件导入数据,但是需要将成功的数据的条数,和失败条数返回,这种情况我的做法就是将成功的条数从excel中删除,使用
sheet.removeRow(sheet.getRow(40));
但是这个方法我们删除的只是数据,当前行并没有删除,所以留下来的是一个空行
这种情况就需要将空行后边的数据全部向前移一行,用到的方法是
sheet.shiftRows(i+1,physicalNumberOfRows,-1);
二个参数为需要移动的行的区间,第三个参数负数代表向前移,正数代表向后移
具体代码:
FileInputStream fileInputStream = new FileInputStream("D:\\MyDocuments\\itw_renzm\\桌面\\file.xls");
HSSFWorkbook workbook = new HSSFWorkbook(fileInputStream);
HSSFSheet sheet = workbook.getSheetAt(0);
int physicalNumberOfRows = sheet.getPhysicalNumberOfRows();
int lastRowNum = sheet.getLastRowNum();
//清除excel当前行
sheet.removeRow(sheet.getRow(10));
sheet.removeRow(sheet.getRow(20));
sheet.removeRow(sheet.getRow(21));
sheet.removeRow(sheet.getRow(22));
sheet.removeRow(sheet.getRow(23));
sheet.removeRow(sheet.getRow(24));
sheet.removeRow(sheet.getRow(40));
System.out.println(lastRowNum+"------"+physicalNumberOfRows);
for(int i =1;i
Row row = sheet.getRow(i);
Cell cell = null;
String cellValue = "";
if (row!=null){
cell = row.getCell(0);
cellValue = POIUtil.getCellValue(cell);
}
if (row==null||cell==null||cellValue==""){
sheet.shiftRows(i+1,lastRowNum,-1);
i--;
//减去一条空行,总行数减一。
lastRowNum--;
}
}
FileOutputStream fileOutputStream = new FileOutputStream("D:\\MyDocuments\\itw_renzm\\桌面\\file1.xls");
workbook.write(fileOutputStream);
fileOutputStream.close();
workbook.close();
fileInputStream.close();
}
java去除多余excel_java使用poi删除excel中的空行相关推荐
- java excel 空行_java使用poi删除excel中的空行
根据自己实际操作,poi中lastRowNum方法获取行数的是excel最后有数据的一行,从0开始 而physicalNumberOfRows方法获取的行数是excel最后有数据的一行减去最后一行之前 ...
- 使用POI删除Excel中的行(亲自实践)
删除行 一般情况下,删除行时会面临两种情况:删除行内容但保留行位置.整行删除(删除后下方单元格上移).对应的删除方法分别是:removeRow()及shiftRow(startRow,endRow,s ...
- java mvc 导出excel_Java springMVC POI 导出 EXCEL
思路 : 将需要导出的数据存放在一个List中 创建一个EXCEL表 注意 XSSFWorkbook 只能操作2007以上的版本,XSSFWorkbook 只能操作2003一下的版本,所以需要的时候可 ...
- POI删除Excel中数据有效性
读到这篇文章,请停下您Ctrl+c,Ctrl+v的脚步.因为这并不是真正的删除数据有效性,而是通过一种方式实现多次为某列设置数据有效性.我是真的百度没查到,Google没查到,官网也没找到关于使用PO ...
- java导入excel时去除空行,使用VBA将空行复制到新工作表后删除Excel中的空行
您可以使用 AutoFilter 方法,它将节省您在所有行中使用 For 循环的需要,并且只需将整个过滤范围复制到"Tab 2"工作表 . Code (评论内部评论) Option ...
- java excel 列_Java 删除Excel中的行和列
Excel是日常工作中常用的办公软件之一.在制作表格的时候,有时需要在工作表中插入一个或多个行和列,同时也会遇到需要将工作表中多余的行或列删除的情况.本文就将通过使用Java程序来演示如何删除Exce ...
- java通过poi读取excel中的日期类型数据或自定义类型日期
java通过poi读取excel中的日期类型数据或自定义类型日期 Java 读取Excel表格日期类型数据的时候,读出来的是这样的 12-十月-2019,而Excel中输入的是 2019/10/12 ...
- Java利用Apace POI读取Excel中数据
Java利用Apace POI读取Excel中数据,解析数据 @Testpublic void readExcel() throws IOException{FileSystemView fsv = ...
- POI读取excel中读取小数位数过多,数值精度损失问题解决
POI读取excel中读取小数位数过多,数值精度损失问题解决 参考来源 项目中需要用到读取excel功能,当excel中有计算公式时,读取到的数值就可能会出现多个小数点的问题 例如: 2.2 --&g ...
最新文章
- 漫话:如何给女朋友解释什么是系统可用性?
- UA PHYS515 电磁理论II 静电场问题5 用Green函数法求解interior Dirichlet问题的例子
- pip报 No module named ‘pip‘ 错误
- 数列分块入门 5(LibreOj-6281)
- Php连接及读取和写入mysql数据库的常用代码
- ajax前面$,连续多次发送Ajax前面的请求被后面的覆盖以致不能执行的问题
- 公司内网与外网连通中的一些小问题(达内)
- 干涉测量技术的应用_特殊工程的施工测量技术应用分享
- 简述有监督学习、半监督学习、无监督学习、弱监督学习
- 庖丁解牛 - 图解MySQL 8.0优化器查询解析篇
- 超大文件上传 WebUploader 断点续传,分片上传
- ORACLE内核参数
- 小米6刷Android10以及Xposed
- 哈尔滨工业大学计算机考研专业课,2020考研哈尔滨工业大学计算机考研考试科目...
- 将mysql 导出word文档_将数据库的内容生成WORD文档
- Fiddler中篡改后端返回数据
- 15【存储过程和存储函数】
- ubuntu14.04 wps字体缺失问题
- 计算机网络技术2020,计算机网络技术超星2020试题及答案
- PLC复习提纲及部分答案
热门文章
- 《数据库系统》(二) 关系数据库
- 【历史上的今天】7 月 8 日:PostgreSQL 发布;SUSE 收购 K8s 最大服务商;动视暴雪合并
- 计算机技术实训的内容,计算机专业生产实习目的及内容
- C#验证身份证是否有效
- 数字摄影测量之特征点提取算法
- 第3选择-解决所有难题的关键思维,种下好的种子避免落入钻石交易
- excel表格中的空白行你还在一个个删除吗?Speedoffice教你一招
- 世界互联网大会,乌镇,互联网人的盛会,大数据文摘来了!
- 最简单DIY基于ESP8266的智能彩灯③(在网页用按钮+滑动条+手机APP控制RGB灯)
- 1.2 二维三维空间向量组的线性组合