npoi 删除行
2016-07-19 17:28
1281 查看
删除行
一般情况下,删除行时会面临两种情况:删除行内容但保留行位置、整行删除(删除后下方单元格上移)。对应的删除方法分别是:removeRow()及shiftRow(startRow,endRow,shiftCount)
示例代码:
以下代码是使用removeRow()方法删除行内容但保留行位置。代码从d:\test.xls中的第一个sheet中删除了第一行。需要注意的是,改变是需要在workbook.write之后才生效的。
importorg.apache.poi.hssf.usermodel.*;
importjava.io.*;
public classtestTools{
public static voidmain(String[] args){
try{
FileInputStream is = newFileInputStream("d://test.xls");
HSSFWorkbook workbook = newHSSFWorkbook(is);
HSSFSheet sheet = workbook.getSheetAt(0);
HSSFRow row = sheet.getRow(0);
sheet.removeRow(row);
FileOutputStream os = newFileOutputStream("d://test.xls");
workbook.write(os);
is.close();
os.close();
} catch(Exception e) {
e.printStackTrace();
}
}
}
以下代码是使用shiftRow实现删除整行的效果。同样,也是需要在进行workbook.write后才会生效。
importorg.apache.poi.hssf.usermodel.*;
importjava.io.*;
public classtestTools{
public static voidmain(String[] args){
try{
FileInputStream is = newFileInputStream("d://test.xls");
HSSFWorkbook workbook = newHSSFWorkbook(is);
HSSFSheet sheet = workbook.getSheetAt(0);
sheet.shiftRows(1, 4, -1);
FileOutputStream os = newFileOutputStream("d://test.xls");
workbook.write(os);
is.close();
os.close();
} catch(Exception e) {
e.printStackTrace();
}
}
}
其中:
sheet.shiftRows(startRow,endRow,shiftCount)参数说明:
其含义是指从startRow EndRow往上移动或者是往下移动,当shiftcount为-1时表示的是上移,当为正时表示的是下移,通过移动来彻底删除。
(经过vb.net 2008 + NPOI 1.3的测试,负数只能是-1,如果需要往上移动多行,那么只有循环了)
一般情况下,删除行时会面临两种情况:删除行内容但保留行位置、整行删除(删除后下方单元格上移)。对应的删除方法分别是:removeRow()及shiftRow(startRow,endRow,shiftCount)
示例代码:
以下代码是使用removeRow()方法删除行内容但保留行位置。代码从d:\test.xls中的第一个sheet中删除了第一行。需要注意的是,改变是需要在workbook.write之后才生效的。
importorg.apache.poi.hssf.usermodel.*;
importjava.io.*;
public classtestTools{
public static voidmain(String[] args){
try{
FileInputStream is = newFileInputStream("d://test.xls");
HSSFWorkbook workbook = newHSSFWorkbook(is);
HSSFSheet sheet = workbook.getSheetAt(0);
HSSFRow row = sheet.getRow(0);
sheet.removeRow(row);
FileOutputStream os = newFileOutputStream("d://test.xls");
workbook.write(os);
is.close();
os.close();
} catch(Exception e) {
e.printStackTrace();
}
}
}
以下代码是使用shiftRow实现删除整行的效果。同样,也是需要在进行workbook.write后才会生效。
importorg.apache.poi.hssf.usermodel.*;
importjava.io.*;
public classtestTools{
public static voidmain(String[] args){
try{
FileInputStream is = newFileInputStream("d://test.xls");
HSSFWorkbook workbook = newHSSFWorkbook(is);
HSSFSheet sheet = workbook.getSheetAt(0);
sheet.shiftRows(1, 4, -1);
FileOutputStream os = newFileOutputStream("d://test.xls");
workbook.write(os);
is.close();
os.close();
} catch(Exception e) {
e.printStackTrace();
}
}
}
其中:
sheet.shiftRows(startRow,endRow,shiftCount)参数说明:
其含义是指从startRow EndRow往上移动或者是往下移动,当shiftcount为-1时表示的是上移,当为正时表示的是下移,通过移动来彻底删除。
(经过vb.net 2008 + NPOI 1.3的测试,负数只能是-1,如果需要往上移动多行,那么只有循环了)
相关文章推荐
- Paxos 算法浅析
- 阿里音乐流行趋势预测大赛 # 第一赛季第21名解决方案
- Android6.0以上 上传图片时 需要进行权限申请
- Android 玩转IOC,Retfotit源码解析,教你徒手实现自定义的Retrofit框架
- UNIX/Linux系统管理技术手册(3)----bash 数组和算术运算
- Android TV开发笔记
- socket 简介
- Android 玩转IOC,Retfotit源码解析,教你徒手实现自定义的Retrofit框架
- 伪Excel导出新版代码
- Python 查看 微信被删除好友
- android控件—MuAutoCompleteTextView
- 剑指offer 从尾到头打印链表
- Linux JDK安装及配置 (tar.gz版)
- DOS 常用命令
- L2-014. 列车调度-PAT团体程序设计天梯赛GPLT
- 分布式消息队列RocketMQ部署与监控
- magento的布局(layouts)、模块(block)、模板(templates)
- 中文乱码的问题设置
- Yii1整合smarty
- 欢迎使用CSDN-markdown编辑器