1. 程式人生 > 其它 >POI合併後處理單元格無邊框(記錄)

POI合併後處理單元格無邊框(記錄)

技術標籤:poiexcel

1、這裡舉例處理第一行和第二行,效果如下
在這裡插入圖片描述

1、先對每個單元格設定框線。

    
    HSSFWorkbook wb = new HSSFWorkbook();// 建立新HSSFWorkbook物件
    HSSFSheet sheet = wb.createSheet("sheet" + x);// 建立新的sheet物件
  // 第一行
	HSSFRow row0 = sheet.createRow((short)0);// 建立提示行
    row0.setHeight((short)(40 * 20));
    // 第一行樣式
   	HSSFCellStyle cellStyle =
wb.createCellStyle(); // 設定字型 HSSFFont font = wb.createFont(); font.setFontHeightInPoints((short)12); font.setColor(HSSFColor.BLACK.index); cellStyle.setFont(font); // 水平居中 cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 垂直居中 cellStyle.setVerticalAlignment(HSSFCellStyle.
VERTICAL_CENTER); // 設定邊框 cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN); cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN); cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN); cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); // 第一行第一列 HSSFCell cell0 = row0.createCell
((short)0);// 建立新cell cell0.setCellValue(“品類分佈資料”); cell0.setCellStyle(cellStyle); // 第一行第六列(**處理框線**) cell0 = row0.createCell((short)6);// 建立新cell cell0.setCellValue(""); cell0.setCellStyle(cellStyle); // 第二行 HSSFRow row1 = sheet.createRow((short)1);// 建立新行 row1.setHeight((short)(30 * 20)); // 第二行樣式 cellStyle = wb.createCellStyle(); // 設定字型 font = wb.createFont(); font.setFontHeightInPoints((short)12); font.setColor(HSSFColor.BLACK.index); // 第二行第一列 cell0 = row1.createCell((short)0);// 建立新cell cell0.setCellValue("欄目名稱"); cell0.setCellStyle(cellStyle); // 第二行第二列(**處理框線**) cell0 = row1.createCell((short)1);// 建立新cell cell0.setCellValue(""); cell0.setCellStyle(cellStyle); // 第二行第三列(**處理框線**) cell0 = row1.createCell((short)2);// 建立新cell cell0.setCellValue(""); cell0.setCellStyle(cellStyle); // 第二行第四列 cell0 = row1.createCell((short)3);// 建立新cell cell0.setCellValue("商品數量"); cell0.setCellStyle(cellStyle); // 第二行第五列 cell0 = row1.createCell((short)4);// 建立新cell cell0.setCellValue("售出數量"); cell0.setCellStyle(cellStyle); // 第二行第六列 cell0 = row1.createCell((short)5);// 建立新cell cell0.setCellValue("銷售總額"); cell0.setCellStyle(cellStyle); // 第二行第七列 cell0 = row1.createCell((short)6);// 建立新cell cell0.setCellValue("銷售利潤"); cell0.setCellStyle(cellStyle);

2、再進行單元格合併操作(順序顛倒,會有部分單元格缺失框線

 // 合併單元格
    sheet.addMergedRegion(new Region(0, (short)0, 0, (short)6));
    sheet.addMergedRegion(new Region(1, (short)0, 1, (short)2));