POI ,Java 操作 Excel 实现行的插入(insert row)

POI ,Java 操作 Excel 实现行的插入(insert row)

前几天,正在做一个项目,主要用 POI 来操作 Excel

其中,要使用一个,插入功能。主要是因为从数据库,返回结果集(数据明细),来动态车生成新行,插入明细

在网上找了找,没有找到,好的方法

自己写了一个:

  public static void insertRow(HSSFWorkbook wb, HSSFSheet sheet, int starRow,int rows) {

  sheet.shiftRows(starRow + 1, sheet.getLastRowNum(), rows,true,false);
//  Parameters:
//   startRow - the row to start shifting
//   endRow - the row to end shifting
//   n - the number of rows to shift
//   copyRowHeight - whether to copy the row height during the shift
//   resetOriginalRowHeight - whether to set the original row's height to the default
  
  starRow = starRow - 1;

  for (int i = 0; i < rows; i++) {

   HSSFRow sourceRow = null;
   HSSFRow targetRow = null;
   HSSFCell sourceCell = null;
   HSSFCell targetCell = null;
   short m;

   starRow = starRow + 1;
   sourceRow = sheet.getRow(starRow);
   targetRow = sheet.createRow(starRow + 1);
   targetRow.setHeight(sourceRow.getHeight());

   for (m = sourceRow.getFirstCellNum(); m < sourceRow.getLastCellNum(); m++) {

    sourceCell = sourceRow.getCell(m);
    targetCell = targetRow.createCell(m);

    targetCell.setEncoding(sourceCell.getEncoding());
    targetCell.setCellStyle(sourceCell.getCellStyle());
    targetCell.setCellType(sourceCell.getCellType());

   }
  }

 }

你可能感兴趣的:(POI ,Java 操作 Excel 实现行的插入(insert row))