关闭

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

标签: excelinsertjavanull数据库
7740人阅读 评论(1) 收藏 举报

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());

   }
  }

 }

1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:10731次
    • 积分:126
    • 等级:
    • 排名:千里之外
    • 原创:1篇
    • 转载:2篇
    • 译文:0篇
    • 评论:1条
    文章存档
    最新评论