Workbook wb = new HSSFWorkbook(); 粗体 样式设置

l2qq · 2020-07-03 23:36
字数 6393 评论 0 收藏 0 点赞 0

Workbook wb = new HSSFWorkbook(); 粗体 样式设置

package com.rmsClient.util.retireInforExcelOuput;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;

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.HSSFRichTextString;
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;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.Font;
import org.apache.poi.ss.usermodel.IndexedColors;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;

import com.rmsClient.entity.po.PageResult;
import com.rmsClient.entity.po.RetireInforItem;
import com.rmsClient.util.LogUtil;

/**
 * 从数据库中读取工资的字段,然后动态生成excel模板
 * 
 * @author qiulinhe
 *
 *         2017年2月20日 下午5:41:35
 */
public class ExcelOutputUtil implements ExcelConstraint {

	public static void main(String[] args) {

		String[] headStrings = { "姓名", "身份证号" };
		// retireInforExcelModel("导出信息excel模板", "D://ceshi.xls", headStrings);

		FileOutputStream out = null;
		try {
			Workbook wb = new HSSFWorkbook();
			// 输出excel对象
			out = new FileOutputStream("D://ceshi.xls");

			Sheet sheet = wb.createSheet("测试背景颜色");

			// 设置表格默认列宽度为15个字节
			sheet.setDefaultColumnWidth(20);

			// 产生表格标题行
			Row row = sheet.createRow(0);
			for (int i = 0; i < headStrings.length; i++) {

				CellStyle style = wb.createCellStyle();
				style.setFillForegroundColor(IndexedColors.YELLOW.getIndex());
				style.setFillPattern(CellStyle.SOLID_FOREGROUND);
				Cell cell = row.createCell((short) i);
				cell.setCellValue(headStrings[i]);
				cell.setCellStyle(style);
			}

			// 输出excel
			wb.write(out);
			out.close();

			System.out.println("在D盘成功生成了excel,请去查看");
			LogUtil.info("在D盘成功生成了excel,请去查看");
		} catch (FileNotFoundException e) {
			LogUtil.error("生成信息模板出错" + e);
			e.printStackTrace();
		} catch (IOException e) {
			LogUtil.error("生成信息模板出错" + e);
			e.printStackTrace();
		} finally {
			if (out != null) {
				try {
					out.close();
				} catch (IOException e) {
					LogUtil.error("生成信息模板出错" + e);
					e.printStackTrace();
				}
			}
		}
	}

	/**
	 * 信息导入里面的:导出信息excel模板
	 * 
	 * @param excelTitle
	 *            excel文件标题
	 * @param filePath
	 *            导出文件路径
	 * @param pageResult
	 *            excel标题
	 */
	public static void retireInforExcelModel(String excelTitle, String filePath, PageResult<RetireInforItem> pageResult) {
		// 获取信息项,也就是excel的标题
		List<RetireInforItem> retireItems = pageResult.getResultList();

		FileOutputStream out = null;
		try {
			// excel对象
			HSSFWorkbook wb = new HSSFWorkbook();
			// sheet对象
			// HSSFSheet sheet = wb.createSheet(excelTitle);
			// 输出excel对象
			out = new FileOutputStream(filePath);

			// 从数据库中读取字段,设置输入的规则,设置某一列的输入规则
			Sheet sheet = RetireinforConstraint.settingAllColumnSheet(excelTitle, wb, retireItems);
			sheet.setDefaultColumnWidth(20);
			sheet.setDefaultRowHeightInPoints(40);

			// 产生表格标题行
			Row row = sheet.createRow(0);
			for (int i = 0; i < retireItems.size(); i++) {

				CellStyle style = wb.createCellStyle();
				// 给单元格设置背景颜色
				style.setFillForegroundColor(IndexedColors.YELLOW.getIndex());
				style.setFillPattern(CellStyle.SOLID_FOREGROUND);
				// 创建边框
				style.setBorderBottom(HSSFCellStyle.BORDER_THIN); // 下边框
				style.setBorderLeft(HSSFCellStyle.BORDER_THIN);// 左边框
				style.setBorderTop(HSSFCellStyle.BORDER_THIN);// 上边框
				style.setBorderRight(HSSFCellStyle.BORDER_THIN);// 右边框
				// 设置居中
				style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);// 垂直居中
				style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 水平居中

				// 设置字体和文字大小
				Font font2 = wb.createFont();
				font2.setFontName("仿宋_GB2312");
				font2.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);// 粗体显示
				font2.setFontHeightInPoints((short) 12);
				// font2.setColor(HSSFColor.RED.index);// 字体颜色:红色
				font2.setColor(HSSFColor.BLACK.index);// 字体颜色:黑色
				style.setFont(font2);// 选择需要用到的字体格式

				Cell cell = row.createCell((short) i);
				cell.setCellValue(retireItems.get(i).getName());
				cell.setCellStyle(style);

			}

			// 输出excel
			wb.write(out);
			out.close();

			System.out.println("在D盘成功生成了excel,请去查看");
			LogUtil.info("在D盘成功生成了excel,请去查看");
		} catch (FileNotFoundException e) {
			LogUtil.error("生成信息模板出错" + e);
			e.printStackTrace();
		} catch (IOException e) {
			LogUtil.error("生成信息模板出错" + e);
			e.printStackTrace();
		} finally {
			if (out != null) {
				try {
					out.close();
				} catch (IOException e) {
					LogUtil.error("生成信息模板出错" + e);
					e.printStackTrace();
				}
			}
		}
	}
}


最新评论 0