请问JAVA删除EXCEL中符合条件的一行怎么实现?
我已经实现了插入一行:StringexcelQuery="INSERTinto[Sheet1$]values('A','K')";stmt.executeUpdate(e...
我已经实现了插入一行:
String excelQuery = "INSERT into [Sheet1$] values('A', 'K')";
stmt.executeUpdate(excelQuery);
变为删除时:
String excelQuery = "DELETE from [Sheet1$] where FirstName='A'";
stmt.executeUpdate(excelQuery);
总是报错。
不想用jxl,最好是J2SE的方法。 展开
String excelQuery = "INSERT into [Sheet1$] values('A', 'K')";
stmt.executeUpdate(excelQuery);
变为删除时:
String excelQuery = "DELETE from [Sheet1$] where FirstName='A'";
stmt.executeUpdate(excelQuery);
总是报错。
不想用jxl,最好是J2SE的方法。 展开
1个回答
展开全部
jxl没用过
我一般常用的是POI
POI可以remove指定的行,但这一行就变成了空白行,还要把下边的所有行向上移动一行
来实现删除功能。
我一般常用的是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);
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询