首页 > 代码库 > apache poi 合并单元格 设置边框
apache poi 合并单元格 设置边框
HSSFWorkbook wb = new HSSFWorkbook();HSSFSheet sheet = wb.createSheet();//创建一个样式HSSFCellStyle styleBorderThin= wb.createCellStyle();setBorder.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框setBorder.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框setBorder.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框setBorder.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框HSSFRow row=sheet.createRow(2); //第三行sheet.addMergedRegion(new CellRangeAddress(2, //first row (0-based)2, //last row (0-based)1, //first column (0-based)5 //last column (0-based))); //第三行的 第2列到第6列(即B到F) 合并单元格row.createCell(1).setCellValue("答案选项"); //赋值row.createCell(2);row.createCell(3);row.createCell(4);row.createCell(5);row.createCell(6).setCellValue("回复情况");for (Cell cell : row) {cell.setCellStyle(styleBorderThin);}
这里需要解释的是 因为1-6是合并单元格,值取的是第一个单元格的值,所以后面的单元格赋不赋值都无所谓,但是一定要createCell,
row.createCell(2);
row.createCell(3);
row.createCell(4);
row.createCell(5); 这一些并不是没意义的,如果去掉的话
错误结果就是这样的:
加上了2-5的createCell以后的正确结果:
另外,我发现了一个有趣的地方,excel在操作合并单元格的时候,如果除了被合并的首个单元格以外的其他单元格也有值,会提示
。
确定合并单元格之后,再把合并单元格去掉,那些值会被清空。
但是如果你是通过POI 来进行合并单元格操作的,上面代为改为
row.createCell(2).setCellValue("222");
row.createCell(3).setCellValue("333");
row.createCell(4).setCellValue("444");
row.createCell(5).setCellValue("555");
导出excel之后,你去掉合并单元格,会发现 这些值还会保留着,如图:
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。