POI中设置Excel单元格格式样式(居中,字体,边框,背景色、列宽、合并单元格等)

转载https://blog.csdn.net/tolcf/article/details/48346697

HSSFSheet sheet = workbook.createSheet("sheet1");//新建sheet页
HSSFCellStyle cellStyle = wb.createCellStyle();  //新建单元格样式
 

一、设置背景色:
cellStyle.setFillForegroundColor((short) 13);// 设置背景色 ?
cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
二、设置边框:
cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框  
cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框  
cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框  
cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框  
三、设置居中:
cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 居中 
四、设置字体:
HSSFFont font2 = wb.createFont();  
font2.setFontName("仿宋_GB2312");  
font2.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//粗体显示  
font2.setFontHeightInPoints((short) 12);  //字体大小
  
cellStyle.setFont(font);//选择需要用到的字体格式 
五、设置列宽:
sheet.setColumnWidth(0, 3766); 
//第一个参数代表列id(从0开始),第2个参数代表宽度值  参考 :"2012-08-10"的宽度为2500  
六、设置自动换行:
cellStyle.setWrapText(true);//设置自动换行  
七、合并单元格:
//参数1:行号 参数2:起始列号 参数3:行号 参数4:终止列号  
Region region1 = new Region(0, (short) 0, 0, (short) 6);//合并第(0,0)单元格到第(0,6)单元格
sheet.addMergedRegion(region1);
//此方法在POI3.8中已经被废弃,建议使用下面一个 
//或者用
CellRangeAddress region1 = new CellRangeAddress(rowNumber, rowNumber, (short) 0, (short) 11); //参数1:起始行 参数2:终止行 参数3:起始列 参数4:终止列 
sheet.addMergedRegion(region1);
//但应注意两个构造方法的参数不是一样的,具体使用哪个取决于POI的不同版本。 
 

下面说下的我的对这类问题的做法(非转载)

我会加载一个excel模板,改模板样式已经设置好了,只要放里面填充数据就行

好处:当客户模板改动的时候,不需要改动代码,只要修改模板就行

猜你喜欢

转载自blog.csdn.net/zhou920786312/article/details/81101380