java POI实现Excel单元格自定义颜色

HSSF

		HSSFWorkbook wb = new HSSFWorkbook();
	    HSSFSheet sheet = wb.createSheet();
	    HSSFRow row = sheet.createRow((short) 0);
	    HSSFCell cell = row.createCell((short) 0);
	    cell.setCellValue("Default Palette");

	    //apply some colors from the standard palette,
	    // as in the previous examples.
	    //we'll use red text on a lime background

	    HSSFCellStyle style = wb.createCellStyle();
	    style.setFillForegroundColor(HSSFColor.LIME.index);
	    style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);

	    HSSFFont font = wb.createFont();
	    font.setColor(HSSFColor.RED.index);
	    style.setFont(font);

	    cell.setCellStyle(style);

	    //save with the default palette
	    FileOutputStream out = new FileOutputStream("default_palette.xls");
	    wb.write(out);
	    out.close();

	    //now, let's replace RED and LIME in the palette
	    // with a more attractive combination
	    // (lovingly borrowed from freebsd.org)

	    cell.setCellValue("Modified Palette");

	    //creating a custom palette for the workbook
	    HSSFPalette palette = wb.getCustomPalette();

	    //replacing the standard red with freebsd.org red
	    palette.setColorAtIndex(HSSFColor.RED.index,
	            (byte) 153,  //RGB red (0-255)
	            (byte) 0,    //RGB green
	            (byte) 0     //RGB blue
	    );
	    //replacing lime with freebsd.org gold
	    palette.setColorAtIndex(HSSFColor.LIME.index, (byte) 255, (byte) 204, (byte) 102);

	    //save with the modified palette
	    // note that wherever we have previously used RED or LIME, the
	    // new colors magically appear
	    out = new FileOutputStream("E:\\standarcode\\modified_palette.xls");
	    wb.write(out);
	    out.close();
	

XSSF

XSSFWorkbook wb = new XSSFWorkbook();
    XSSFSheet sheet = wb.createSheet();
    XSSFRow row = sheet.createRow(0);
    XSSFCell cell = row.createCell( 0);
    cell.setCellValue("custom XSSF colors");

    XSSFCellStyle style1 = wb.createCellStyle();
    style1.setFillForegroundColor(new XSSFColor(new java.awt.Color(128, 0, 128)));
    style1.setFillPattern(CellStyle.SOLID_FOREGROUND);


  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值