首页 > 其他 > 详细

apache poi 合并单元格 设置边框

时间:2014-07-22 22:35:42      阅读:564      评论:0      收藏:0      [点我收藏+]
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);  这一些并不是没意义的,如果去掉的话

错误结果就是这样的:

bubuko.com,布布扣

加上了2-5的createCell以后的正确结果:

bubuko.com,布布扣

 

另外,我发现了一个有趣的地方,excel在操作合并单元格的时候,如果除了被合并的首个单元格以外的其他单元格也有值,会提示

 

 bubuko.com,布布扣

确定合并单元格之后,再把合并单元格去掉,那些值会被清空。

但是如果你是通过POI 来进行合并单元格操作的,上面代为改为

row.createCell(2).setCellValue("222");
row.createCell(3).setCellValue("333");
row.createCell(4).setCellValue("444");
row.createCell(5).setCellValue("555"); 

导出excel之后,你去掉合并单元格,会发现 这些值还会保留着,如图:

bubuko.com,布布扣

apache poi 合并单元格 设置边框,布布扣,bubuko.com

apache poi 合并单元格 设置边框

原文:http://www.cnblogs.com/duelgenji/p/3860778.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!