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