使用poi复制sheet页,拷贝sheet,sheet插入行,复制行

复制sheet

  //读取excel模板
            XSSFWorkbook workbook = new XSSFWorkbook(new FileInputStream(filePath + "赎回明细表模板.xlsx"));
               			 workbook.cloneSheet(0,"赎回明细-"+sheetName);

通过 cloneSheet,去克隆整个sheet,cloneSheet第一个参数是你要克隆sheet的下标,第二个参数是,新的sheet的名字,注意这里sheet的名字不能重复,否则会报错。

插入行操作

 XSSFSheet sheet = workbook.getSheetAt(0);
 sheet.shiftRows(7 + p, sheet.getLastRowNum(), 1);

参数介绍:
startRow:开始行
endRow:末尾行
n:移动n行数startRow到endRow数据域(正数:向下移,负数:向上移)

复制行操作

sheet.copyRows(7, 7 ,7 + p, new CellCopyPolicy());

参数介绍:
srcStartRow:开始行
srcEndRow:末尾行
destStartRow:目标开始行。(假如srcStartRow是1,srcEndRow是3,destStartRow是6,那么就会把1到3行的数据,复制到6,7,8).
CellCopyPolicy:设置格式,是否拷贝原有行的样式,数据,公式。这里我选择默认的,也就是保留行样式,数据,公式。直接new CellCopyPolicy()就行了,当然了,CellCopyPolicy类里面的参数是可以改的。可以查看源码
在这里插入图片描述
可以看到默认的构造方法,已经默认的设置参数了,如果拷贝行的时候,想自定义一下,可以通过set方法调用就行,再传进去就行了。
因为最近项目,客户想要按他们提供的模板导出,样式这些,公式,必须保持一模一样,百度了很多,但是都找不到答案,所以写下来记录一下。
听说阿里巴巴开源的easyExcel挺好用的,下次如果有此类需要,时间不紧急的情况,就去研究下。

  • 7
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值