在做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);
剩下的行 同样 根据多出的行次 ,行索引动态加该行数,即变成如下
多出的行是 不会复制样式的, 可以把前一行的样式先取出,复制给新行