请问JAVA删除EXCEL中符合条件的一行怎么实现?
答案:1 悬赏:50 手机版
解决时间 2021-03-23 20:50
- 提问者网友:我没有何以琛的痴心不悔
- 2021-03-23 15:54
请问JAVA删除EXCEL中符合条件的一行怎么实现?
最佳答案
- 五星知识达人网友:西风乍起
- 2021-03-23 16:26
jxl没用过
我一般常用的是POI
POI可以remove指定的行,但这一行就变成了空白行,还要把下边的所有行向上移动一行
来实现删除功能。追问POI是J2SE中的吗?我只用删除最后一行数据即可,类似栈的操作。能具体说下吗?追答POI是
apache上开源的工具包,是J2SE的标准实现。
一会给你一个例 子,怎么删除Excel中的一行。
POI下载地址
http://poi.apache.org/
我用的是poi-3.7-20101029.jar
下边是代码是操作excel2003及之前的版本的。
如果你是excel2007及以之后版本的话
用
XSSFWorkbook
XSSFSheet
这样的对象。
----------------------------------------------------------------------------------------
import java.io.FileInputStream;
import java.io.FileOutputStream;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Row;
public class ExcelDeleteRow {
public static void main(String[] args) throws Exception {
String src = "E:\\test.xls";
FileInputStream fin = new FileInputStream(src);
HSSFWorkbook work = new HSSFWorkbook(fin);
FileOutputStream fout = new FileOutputStream(src);
HSSFSheet sheet = work.getSheetAt(0);
// 行索引从0开始,比实际行数少1,这是删除第四行
int rowIndex = 3;
Row row = sheet.getRow(rowIndex);
sheet.removeRow(row);
// 开始行,结束行,移动行数(正号[+],为向下移动;负号[-],为向上移动)
sheet.shiftRows(rowIndex + 1, sheet.getLastRowNum(), -1);
work.write(fout);
}
}
我一般常用的是POI
POI可以remove指定的行,但这一行就变成了空白行,还要把下边的所有行向上移动一行
来实现删除功能。追问POI是J2SE中的吗?我只用删除最后一行数据即可,类似栈的操作。能具体说下吗?追答POI是
apache上开源的工具包,是J2SE的标准实现。
一会给你一个例 子,怎么删除Excel中的一行。
POI下载地址
http://poi.apache.org/
我用的是poi-3.7-20101029.jar
下边是代码是操作excel2003及之前的版本的。
如果你是excel2007及以之后版本的话
用
XSSFWorkbook
XSSFSheet
这样的对象。
----------------------------------------------------------------------------------------
import java.io.FileInputStream;
import java.io.FileOutputStream;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Row;
public class ExcelDeleteRow {
public static void main(String[] args) throws Exception {
String src = "E:\\test.xls";
FileInputStream fin = new FileInputStream(src);
HSSFWorkbook work = new HSSFWorkbook(fin);
FileOutputStream fout = new FileOutputStream(src);
HSSFSheet sheet = work.getSheetAt(0);
// 行索引从0开始,比实际行数少1,这是删除第四行
int rowIndex = 3;
Row row = sheet.getRow(rowIndex);
sheet.removeRow(row);
// 开始行,结束行,移动行数(正号[+],为向下移动;负号[-],为向上移动)
sheet.shiftRows(rowIndex + 1, sheet.getLastRowNum(), -1);
work.write(fout);
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯