博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POI导出Excle HSSF
阅读量:6437 次
发布时间:2019-06-23

本文共 5091 字,大约阅读时间需要 16 分钟。

hot3.png

package com.sk.utils;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import org.apache.poi.hssf.usermodel.HSSFCell;import org.apache.poi.hssf.usermodel.HSSFCellStyle;import org.apache.poi.hssf.usermodel.HSSFFont;import org.apache.poi.hssf.usermodel.HSSFRow;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.hssf.util.HSSFColor;/** * 生成导出Excel文件对象 *  * @author chico *  */public class ExportExcel {	private static HSSFFont fontStyle = null;	private static HSSFCellStyle cellStyle = null;	public static HSSFFont getTitleFont(HSSFWorkbook wb) {		fontStyle = wb.createFont();		fontStyle.setFontName("宋体");		fontStyle.setFontHeightInPoints((short) 12);		fontStyle.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//字体加粗		return fontStyle;	}		public static HSSFFont getContentFont(HSSFWorkbook wb) {		fontStyle = wb.createFont();//		fontStyle.setFontName("宋体");//		fontStyle.setFontHeightInPoints((short) 12);		fontStyle.setBoldweight(HSSFFont.BOLDWEIGHT_NORMAL);		return fontStyle;	}		public static HSSFCellStyle getTitleStyle(HSSFWorkbook workbook){		cellStyle = workbook.createCellStyle(); // 在工作薄的基础上建立一个样式		cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN); // 左边框		cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN); // 右边框		cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN); // 顶边框		cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); // 底边框		cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//垂直居中		cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);//水平居中//		cellStyle.setFillForegroundColor(HSSFColor.LIGHT_ORANGE.index); // 填充的背景颜色		cellStyle.setFont(getTitleFont(workbook));		return cellStyle;	}		public static HSSFCellStyle getContentStyle(HSSFWorkbook workbook){		cellStyle = workbook.createCellStyle(); // 在工作薄的基础上建立一个样式		cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN); // 左边框		cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN); // 右边框		cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN); // 顶边框		cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); // 底边框		cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//垂直居中		cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);//水平居中//		cellStyle.setFillForegroundColor(HSSFColor.LIGHT_ORANGE.index); // 填充的背景颜色//		cellStyle.setFont(getContentFont(workbook));		return cellStyle;	}		public static HSSFCellStyle getLeftContentStyle(HSSFWorkbook workbook){		cellStyle = workbook.createCellStyle(); // 在工作薄的基础上建立一个样式		cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN); // 左边框		cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN); // 右边框		cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN); // 顶边框		cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); // 底边框		cellStyle.setVerticalAlignment(HSSFCellStyle.ALIGN_FILL);//垂直居中//		cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);//水平居中//		cellStyle.setFillForegroundColor(HSSFColor.LIGHT_ORANGE.index); // 填充的背景颜色//		cellStyle.setFont(getContentFont(workbook));		return cellStyle;	}		public static void createTitleRow(HSSFRow curRow,HSSFWorkbook workbook){		HSSFCell curCell = curRow.createCell(0);		curCell.setCellStyle(getTitleStyle(workbook));		curCell.setCellValue("姓名");		HSSFCell curCell2 = curRow.createCell(1);		curCell2.setCellStyle(getTitleStyle(workbook));		curCell2.setCellValue("项目");	}		public static void createContentRow(HSSFCell curCell,HSSFWorkbook workbook,String value){		curCell.setCellStyle(ExportExcel.getContentStyle(workbook));		curCell.setCellValue(value);	}		public static void createLeftContentRow(HSSFCell curCell,HSSFWorkbook workbook,String value){		curCell.setCellStyle(ExportExcel.getLeftContentStyle(workbook));		curCell.setCellValue(value);	}	public static void main(String[] args) {		HSSFWorkbook workbook = new HSSFWorkbook(); // 建立一个工作薄				HSSFSheet sheet = workbook.createSheet();		sheet.setDefaultRowHeightInPoints(15);		sheet.setDefaultColumnWidth(50);				HSSFRow curRow = sheet.createRow(0);		HSSFCell curCell = curRow.createCell(0);		curCell.setCellStyle(getTitleStyle(workbook));		curCell.setCellValue("姓名");		HSSFCell curCell2 = curRow.createCell(1);		curCell2.setCellStyle(getTitleStyle(workbook));		curCell2.setCellValue("项目");		FileOutputStream fos;		try {			fos = new FileOutputStream("D:\\test.xls");			workbook.write(fos);			fos.close();		} catch (FileNotFoundException e) {			e.printStackTrace();		} catch (IOException e) {			e.printStackTrace();		}		// titleStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); // 填充图案		// 假设什么定义了一个样式,想在填充第一个单元格的时候填充红,第二格单元格填充蓝色。		// 如果:		// HSSFCellStyle cellStyle = workbook.createCellStyle(); // 创建一个样式		// cellStyle.setFillForegroundColor(HSSFColor.RED.index); // 设置颜色为红色		// cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);		// HSSFCell cell1 = row.createCell((short) 1); // 给单元格cell1填充红色		// cell1.setCellStyle(cellStyle);		// 若:		// cellStyle.setFillForegroundColor(HSSFColor.BLUE.index); // 设置颜色为蓝色		// HSSFCell cell2 = row.createCell((short) 2); // 给单元格cell2填充蓝色		// cell2.setCellStyle(cellStyle);	}}

转载于:https://my.oschina.net/u/555639/blog/226858

你可能感兴趣的文章
别用这种方式聊天,你都不知道自己是怎么聊死的
查看>>
中国香港地区 DDoS- botnet 态势分析
查看>>
另一个角度的架构师
查看>>
SparseArray<E>详解
查看>>
Eclipse-Java代码规范和质量检查插件-PMD
查看>>
阿里专家分享:企业级大数据轻量云实践
查看>>
阿里财报:云计算年度营收133亿,季度营收连续12个季度翻番
查看>>
人工智能化发展已经到了哪一步?
查看>>
php实现上传图片保存到数据库的方法
查看>>
安卓应用安全指南 5.4.3 通过 HTTPS 的通信 高级话题
查看>>
针对CMS中的tag标签理解
查看>>
AR头显要上天!欧洲太空总署或用HoloLens维修太空站
查看>>
沃尔玛建立自家的人工智能网络,抗衡竞争对手亚马逊
查看>>
Mysql备份与还原及优化方法
查看>>
linux常用命令和选项
查看>>
sed 学习笔记(未完成)
查看>>
Eclipse保存验证JS缓慢
查看>>
2017 JMP Discovery Summit China圆满落幕
查看>>
9 Easy Steps for Successful Data Migration
查看>>
人工智能,不止于技术的革命--WOT2017全球创新技术峰会开幕
查看>>