Я не могу удалить лист Excel из книги. Я попробовал другое решение, но мне не удалось обойти это.
Скажем, я хочу удалить лист № 5 с помощью «wb.RemoveSheetAt (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)