在使用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 }