您的位置:首页 > 其它

POI中设置Excel单元格格式

2013-10-13 22:16 309 查看
POI中可能会用到一些需要设置EXCEL单元格格式的操作小结:

先获取工作薄对象:
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet();
HSSFCellStyle setBorder = wb.createCellStyle();
一、设置背景色:
setBorder.setFillForegroundColor((short) 13);// 设置背景色

setBorder.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
二、设置边框:
setBorder.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框

setBorder.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框

setBorder.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框

setBorder.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框
三、设置居中:
setBorder.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 居中
四、设置字体:
HSSFFont font = wb.createFont();

font.setFontName("黑体");

font.setFontHeightInPoints((short) 16);//设置字体大小
HSSFFont font2 = wb.createFont();

font2.setFontName("仿宋_GB2312");

font2.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//粗体显示

font2.setFontHeightInPoints((short) 12);
setBorder.setFont(font);//选择需要用到的字体格式
五、设置列宽:
sheet.setColumnWidth(0, 3766); //第一个参数代表列id(从0开始),第2个参数代表宽度值 参考 :"2012-08-10"的宽度为2500
六、设置自动换行:
setBorder.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);

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

sheet.addMergedRegion(region1);
目前用过的就这么多,后续有新的会继续添加。
八、单元格格式

cell.setCellType(Cell.CELL_TYPE_STRING);//文本格式,插入如果是数字也会是文本格式显示

cell.setCellType(Cell.CELL_TYPE_BLANK);//单元格为空,其实也是清空单元格内容啦。

cell.setCellType(Cell.CELL_TYPE_BOOLEAN);//单元格为boolean类型,非0则显示TRUE,0则显示FALSE

cel1.setCellType(Cell.CELL_TYPE_ERROR);//单元格错误格式,无论插入什么类型都显示 " #VALUE!"

cel1.setCellType(Cell.CELL_TYPE_FORMULA);//单元格公式型,可以通过cell.getCellFormula());获取其值

cel3.setCellType(Cell.CELL_TYPE_NUMERIC);//单元格数字型,如果cell.setValu是数字类型则其默认也会是数字类型,所以不用显示设置也行,但是如果不是数字类型则报错
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: