public static Sheet copySheet(Workbook create, Sheet oldSheet){
//工作簿中创建新的sheet页 延用sheet模板中的sheet名
Sheet newSheet = create.createSheet(oldSheet.getSheetName());
//sheet模板中的合并单元格信息
List<CellRangeAddress> mergedRegions = oldSheet.getMergedRegions();
//sheet模板中的数据验证信息 下拉框 序列
List<? extends DataValidation> validations = oldSheet.getDataValidations();
//新的sheet页中添加数据验证信息
if(null != validations && validations.size() > 0){
for(DataValidation validation : validations){
newSheet.addValidationData(validation);
}
}
//新的sheet页中添加合并单元格信息
if(null != mergedRegions && mergedRegions.size() > 0){
for(CellRangeAddress rangeAddress : mergedRegions){
newSheet.addMergedRegion(rangeAddress);
}
}
//获取sheet中row的迭代器
Iterator<Row> iterator = oldSheet.iterator();
while (iterator.hasNext()){
//获取row信息
Row row = iterator.next();
//设置当前行的行宽
newSheet.setColumnWidth(row.getRowNum(),oldSheet.getColumnWidth(row.getRowNum()));
//创建新的row
Row newRow = newSheet.createRow(row.getRowNum());
//设置新row的高度
newRow.setHeight(row.getHeight());
//获取单元格的迭代器
Iterator<Cell> cellIterator = row.cellIterator();
while (cellIterator.hasNext()){
//获取单元格信息
Cell cell = cellIterator.next();
//创建新的单元格
Cell newCell = newRow.createCell(cell.getColumnIndex());
//创建单元格样式
CellStyle cellStyle = create.createCellStyle();
//复制单元格样式
cellStyle.cloneStyleFrom(cell.getCellStyle());
//设置新的单元格样式
newCell.setCellStyle(cellStyle);
//设置新的单元格值
newCell.setCellValue(cell.getRichStringCellValue());
//设置注释
newCell.setCellComment(cell.getCellComment());
}
}
return newSheet;
}
excle复制sheet页
最新推荐文章于 2023-11-03 14:56:11 发布