`
jie_bosshr
  • 浏览: 140057 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

poi生成Excel单元格格式小结

阅读更多
目前POI版本采用3.9版本

先定义工作薄对象:

HSSFWorkbook workBook = new HSSFWorkbook();

HSSFSheet sheet = workBook.createSheet();

获得单元格的样式:
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); // 居中
cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);

四、设置字体:

HSSFFont font = workBook.createFont();
font.setFontName("黑体");
font.setFontHeightInPoints((short) 16);//设置字体大小

HSSFFont font1 = workBook.createFont();
font1.setFontName("仿宋_GB2312");
font1.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//粗体显示
font1.setFontHeightInPoints((short) 12);

cellStyle.setFont(font);//选择需要用到的字体格式

五、设置列宽:

sheet.setColumnWidth(0, 2500); //第一个参数代表列id(从0开始),第2个参数代表宽度值 参考 :"2012-12-12"的宽度为2500

六、设置自动换行:

cellStyle.setWrapText(true);//设置自动换行

七、合并单元格:

Region region1 = new Region(0, (short) 0, 0, (short) 6);

参数1:行号 参数2:起始列号 参数3:行号 参数4:终止列号

或者用

CellRangeAddress region1 = new CellRangeAddress(rowNumber, rowNumber, (short) 0, (short) 11);

sheet.addMergedRegion(region1);

但应注意两个构造方法的参数不是一样的,具体使用哪个取决于POI的不同版本。

或者用
sheet.addMergedRegion(CellRangeAddress.valueOf("$F$1:$H$1")); //$F$1表示:列号从5开始到$H$1:表示:列号为7的进行合并.
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics