为了处理常规样式和数据,我们可以遍历每个单元格。
但是,如果我们有启用公式的单元格、不可编辑的单元格、合并的单元格,那么这是更好的解决方案:
我试过抄表,但没用。
此外,我还需要复制一个工作表,其中也有一些不可编辑的单元格和启用公式的单元格。
这个解决方案对我很有效:
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();