POI单元格合并、自动列宽、水平居中、垂直居中、设置背景颜色、设置字体等常用方法
POI设置单元格样式POI设置文字POI设置边框样式POI设置文字水平居中、垂直居中POI设置背景颜色POI合并单元格POI单元格宽度(列宽)自适应POI设置全部单元格的样式POI 解决合并单元格遗留空白边框问题浏览器默认服务器传过去的是html,不是excel文件POI设置单元格样式
//创建文本单元格样式CellStyle cs_text = wb.createCellStyle();
POI设置文字
//创建文字设置Font textFont = wb.createFont();//设置文字类型textFont.setFontName("Consolas");//设置文字大小textFont.setFontHeightInPoints((short) 10);//应用设置cs_text.setFont(textFont);
POI设置边框样式
//设置边框cs_text.setBorderBottom(BorderStyle.THIN);cs_text.setBorderLeft(BorderStyle.THIN);cs_text.setBorderRight(BorderStyle.THIN);cs_text.setBorderTop(BorderStyle.THIN);
POI设置文字水平居中、垂直居中
//水平居中cs_text.setAlignment(HorizontalAlignment.CENTER);//垂直居中cs_text.setVerticalAlignment(VerticalAlignment.CENTER);
POI设置背景颜色
//前景填充色cs_header.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.index);//设置前景填充样式cs_header.setFillPattern(FillPatternType.SOLID_FOREGROUND);
POI合并单元格
//横向合并sheet.addMergedRegionUnsafe(new CellRangeAddress(0, 0, 11, 12));//竖向合并sheet.addMergedRegionUnsafe(new CellRangeAddress(1,5,4,4));
POI单元格宽度(列宽)自适应
//设置单元格宽度自适应for (int i = 0; i <= cellSum; i++){sheet.autoSizeColumn((short)i,true); //自动调整列宽}
POI设置全部单元格的样式
//设置所有样式(会覆盖原有的样式)for (Sheet rows : wb) {for (Row cells : rows) {for (Cell cell1 : cells) {cell1.setCellStyle(cs_text);}}}
POI 解决合并单元格遗留空白边框问题
CellRangeAddress cellAddresses = new CellRangeAddress(0, 0, 11, 12);//删除后补上合并遗留空白边框RegionUtil.setBorderRight(BorderStyle.THIN,cellAddresses,sheet);
浏览器默认服务器传过去的是html,不是excel文件
response.setContentType("application/octet-stream;charset=UTF-8");//设置响应头信息header,下载时以文件附件下载response.setHeader("Content-Disposition","attachment;filename="+fileName+".xls");//输出流对象OutputStream os = response.getOutputStream();//wb = new HSSFWorkbook();wb.write(os);//强制刷新os.flush();os.close();wb.close();
POI单元格合并(合并后边框空白修复) 自动列宽 水平居中 垂直居中 设置背景颜色 设置字体等常见问题