POI Excel 插入新的行,下面的行动态移动

在做Excel 模板时,会有遇到  模板行数不固定,如下图  需要在行次4下面再插入一行;注意:(插入的行如果是下面空白行,需要创建行)

  解决方法是使用shifRows方法,第1个参数是指要开始插入的行,第2个参数是结尾行数

//省略前面数据插入操作,以下是第4行的插入,第4行以下不变,动态下移
if (i > 3) {
     sheet.shiftRows( i, sheet.getLastRowNum(), 1, true, false);
}
row = sheet.getRow(startRow)==null?sheet.createRow(startRow):sheet.getRow(startRow+1+i);
...
HSSFCell cell1 = row.getCell(0) == null ? row.createCell(0) : row.getCell(0);

     剩下的行 同样 根据多出的行次 ,行索引动态加该行数,即变成如下

 

多出的行是  不会复制样式的,  可以把前一行的样式先取出,复制给新行

posted @ 2017-11-22 11:57  紫薇帝星的故事  阅读(9178)  评论(1编辑  收藏  举报