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) //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之后,你去掉合并单元格,会发现 这些值还会保留着,如图:
分类:
Poi相关
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix