poi 合并 单元格
XSSFWorkbook wb = new XSSFWorkbook(); XSSFSheet sheet = wb.createSheet(); //这个就是合并单元格 //参数说明:1:开始行 2:结束行 3:开始列 4:结束列 //比如我要合并 第二行到第四行的 第六列到第八列 sheet.addMergedRegion(new CellRangeAddress(1,3,5,7)); sheet.addMergedRegion(new CellRangeAddress(0,0,0,1)); XSSFRow row = sheet.createRow(number);
需要注意的地方(不对的地方请指教)
感觉唯一要注意的地方就是:需要先设置 合并单元格,然后再 生成 行。
比如我们要生成的单元格为:
1工作站 | 左位置 | 1序号 | 2000订单号 | 1成品号/型号 |
左位置 | 2序号 | |||
左位置 | 3序号 | |||
右位置 | 4序号 |
代码可以这样写:
sheet.addMergedRegion(new CellRangeAddress(0,3,0,0)); sheet.addMergedRegion(new CellRangeAddress(0,3,3,3)); sheet.addMergedRegion(new CellRangeAddress(0,3,4,4)); //第一行数据 XSSFRow row = sheet.createRow(0); row.createCell(0).setCellValue("工作站"); row.createCell(1).setCellValue("位置"); row.createCell(2).setCellValue("序号"); row.createCell(3).setCellValue("订单号"); row.createCell(4).setCellValue("成品号/型号"); //第二行数据 XSSFRow row = sheet.createRow(number); //row.createCell(0).setCellValue("工作站");//因为和上面的行合并了,所以不用再次 赋值了 row.createCell(1).setCellValue("位置"); row.createCell(2).setCellValue("序号"); //row.createCell(3).setCellValue("订单号");//因为和上面的行合并了,所以不用再次 赋值了 //row.createCell(4).setCellValue("成品号/型号");//因为和上面的行合并了,所以不用再次 赋值了