POI合併後處理單元格無邊框(記錄)
阿新 • • 發佈:2021-02-10
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));