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();
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐