Java poi操作合并单元格后写入内容无法显示

在使用java POI做数据导出到Excel时,标题有合并单元格的需求,但发现合并后某些单元格写入的内容死活无法显示,跟着代码debug发现也正常,调试了好久发现了原因,poi合并单元格过后它的列数是不变的该在第几行写就应该在第几行写,

不能将合并后的单元格认为是一个,正确的操作是找到合并单元格的开始那个单元格,比如上面那两个,第一个标题在K的位置那就是第11列(下表为10),第二个从w开始那就应该是第23(下表为22).代码大概为

1 //跨单元格head设置标题
2         String[] crossHead = new String[]{"调整后的分月电量(兆瓦时)","调整前的分月电量(兆瓦时)"};
3         for (int i = 0; i < crossHead.length; i++) {
4             HSSFCell cellLast = row.createCell((short)(12*i+10));
5             cellLast.setEncoding(HSSFCell.ENCODING_UTF_16);
6             cellLast.setCellValue(crossHead[i]);
7             cellLast.setCellStyle(headerStyle);
8             cellLast.setCellType(HSSFCell.CELL_TYPE_STRING);
9         }

 

posted @ 2021-09-01 10:42  it蛰伏者  阅读(1677)  评论(0编辑  收藏  举报