hssf java,java - 无法使用HSSF Java删除Excel工作表 - SO中文参考 - www.soinside.com

我无法从工作簿中删除excel表。我尝试了不同的解决方案,但我无法得到解决方法。假设我想使用“wb.RemoveSheetAt(5)”删除第5页。我只能在删除第6页后删除它。

代码:

public void cloneSheet(String sheetName , int NoOfClones){

int temp = 0;

for(int i = 0 ; i <= NoOfClones ; i++){

HSSFSheet tsheet = workbook.cloneSheet(temp = workbook.getSheetIndex(sheetName));

workbook.setSheetName((workbook.getSheetIndex(tsheet)), sheetName+i);

}

workbook.removeSheetAt(workbook.getSheetIndex(sheetName));

}

这是我得到的错误:

Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 21, Size: 21

at java.util.ArrayList.rangeCheck(Unknown Source)

at java.util.ArrayList.get(Unknown Source)

at org.apache.poi.hssf.record.ExternSheetRecord.getRef(ExternSheetRecord.java:164)

at org.apache.poi.hssf.record.ExternSheetRecord.adjustIndex(ExternSheetRecord.java:168)

at org.apache.poi.hssf.model.LinkTable.updateIndexToInternalSheet(LinkTable.java:419)

at org.apache.poi.hssf.model.InternalWorkbook.removeSheet(InternalWorkbook.java:721)

at org.apache.poi.hssf.usermodel.HSSFWorkbook.removeSheetAt(HSSFWorkbook.java:899)

at exceleditor.ExcelEditor.cloneSheet(ExcelEditor.java:104)

at exceleditor.QLaunchExcelEditor.main(QLaunchExcelEditor.java:290)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值