Для обработки обычных стилей и данных мы можем перебирать каждую ячейку.
Но если у нас есть ячейка с включенной формулой, не редактируемые ячейки, объединенная ячейка, то это лучшее решение для:
Я пробовал что-то вроде копирования листов, но это не сработало.
Кроме того, мне нужно скопировать лист, на котором есть несколько нередактируемых ячеек и ячеек с поддержкой формул.
Это решение сработало для меня:
1) скопировать всю рабочую книгу
2) удалить ненужные листы
3) добавьте свои новые листы в вышеприведенную книгу
//input source excel file which contains sheets to be copied
file = new FileInputStream("C:\\SamepleTemplate.xlsx");
workbookinput = new XSSFWorkbook(file);
//output new excel file to which we need to copy the above sheets
//this would copy entire workbook from source
XSSFWorkbook workbookoutput=workbookinput;
//delete one or two unnecessary sheets, you can delete them by specifying the sheetnames
workbook.removeSheetAt(workbook.getSheetIndex(workbook.getSheet(" your sheet name ")));
//if you want to delete more sheets you can use a for to delete the sheets
for (int index=0;index<=5;index++)
{
workbook.removeSheetAt(index);
}
//To write your changes to new workbook
FileOutputStream out = new FileOutputStream("C:\\FinalOutput.xlsx");
workbookoutput.write(out);
out.close();