本文主要是介绍复制excel行到指定行,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
/*** 行复制功能* * @param fromRow* @param toRow*/public static void _copyRow(Workbook wb,Sheet sheet, Row fromRow, Row toRow, boolean copyValueFlag) {toRow.setHeight(fromRow.getHeight());for(int i = 0; i < sheet.getNumMergedRegions(); i++) {CellRangeAddress cellRangeAddress = sheet.getMergedRegion(i);if(cellRangeAddress.getFirstRow() == fromRow.getRowNum()) {CellRangeAddress newCellRangeAddress = new CellRangeAddress(toRow.getRowNum(), (toRow.getRowNum() +(cellRangeAddress.getLastRow() - cellRangeAddress.getFirstRow())), cellRangeAddress.getFirstColumn(), cellRangeAddress.getLastColumn());sheet.addMergedRegion(newCellRangeAddress);}}for (Iterator cellIt = fromRow.cellIterator(); cellIt.hasNext();) {Cell tmpCell = (Cell) cellIt.next();Cell newCell = toRow.createCell(tmpCell.getColumnIndex());_copyCell(wb, tmpCell, newCell, copyValueFlag);}}public static void _copyCell(Workbook wb,Cell srcCell, Cell distCell, boolean copyValueFlag) { CellStyle newstyle=wb.createCellStyle(); newstyle.cloneStyleFrom(srcCell.getCellStyle()); //样式 distCell.setCellStyle(newstyle); //评论 if (srcCell.getCellComment() != null) { distCell.setCellComment(srcCell.getCellComment()); } // 不同数据类型处理 int srcCellType = srcCell.getCellType(); distCell.setCellType(srcCellType); if (copyValueFlag) { if (srcCellType == Cell.CELL_TYPE_NUMERIC) { if (HSSFDateUtil.isCellDateFormatted(srcCell)) { distCell.setCellValue(srcCell.getDateCellValue()); } else { distCell.setCellValue(srcCell.getNumericCellValue()); } } else if (srcCellType == Cell.CELL_TYPE_STRING) { distCell.setCellValue(srcCell.getRichStringCellValue()); } else if (srcCellType == Cell.CELL_TYPE_BLANK) { // nothing21 } else if (srcCellType == Cell.CELL_TYPE_BOOLEAN) { distCell.setCellValue(srcCell.getBooleanCellValue()); } else if (srcCellType == Cell.CELL_TYPE_ERROR) { distCell.setCellErrorValue(srcCell.getErrorCellValue()); } else if (srcCellType == Cell.CELL_TYPE_FORMULA) { distCell.setCellFormula(srcCell.getCellFormula()); } else { // nothing29 } } }
这篇关于复制excel行到指定行的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!