首页>代码>java实现html网页转excel文件>/ExcelRead/src/com/gwi/xls/resource/support/BackgroundApplier.java
package com.gwi.xls.resource.support;

import java.util.Map;
import java.util.HashMap;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;

import com.gwi.xls.resource.CssApplier;
import com.gwi.xls.resource.CssUtils;


public class BackgroundApplier implements CssApplier {

    public Map<String, String> parse(Map<String, String> style) {
    	Map<String, String> mapRtn = new HashMap<String, String>();
    	String bg = style.get(BACKGROUND);
    	String bgColor = null;
    	if (StringUtils.isNotBlank(bg)) {
    		for (String bgAttr : bg.split("(?<=\\)|\\w|%)\\s+(?=\\w)")) {
    			if ((bgColor = CssUtils.processColor(bgAttr)) != null) {
    				mapRtn.put(BACKGROUND_COLOR, bgColor);
    				break;
    			}
    		}
    	}
    	bg = style.get(BACKGROUND_COLOR);
    	if (StringUtils.isNotBlank(bg) && 
    			(bgColor = CssUtils.processColor(bg)) != null) {
    		mapRtn.put(BACKGROUND_COLOR, bgColor);
    		
    	}
    	if (bgColor != null) {
    		bgColor = mapRtn.get(BACKGROUND_COLOR);
    		if ("#ffffff".equals(bgColor)) {
    			mapRtn.remove(BACKGROUND_COLOR);
    		}
    	}
	    return mapRtn;
    }

    public void apply(HSSFCell cell, HSSFCellStyle cellStyle, Map<String, String> style) {
    	String bgColor = style.get(BACKGROUND_COLOR);
    	if (StringUtils.isNotBlank(bgColor)) {
    		cellStyle.setFillPattern(CellStyle.SOLID_FOREGROUND);
    		cellStyle.setFillForegroundColor(
    			CssUtils.parseColor(cell.getSheet().getWorkbook(), 
    					bgColor).getIndex());
    	}
    }
}
最近下载更多
chocchow  LV2 2022年9月5日
zy2858223209  LV1 2022年8月17日
wade Heng  LV1 2022年5月5日
zhangchengyi  LV1 2022年3月18日
zhouhainan  LV1 2022年1月26日
微信网友_5764299473358848  LV1 2021年12月28日
五条悟先森  LV1 2021年12月14日
陈小哥 2021年10月31日
暂无贡献等级
zilongwuhui  LV1 2021年10月19日
章鱼哥508  LV1 2021年10月18日
最近浏览更多
readqwe 2023年5月19日
暂无贡献等级
微信网友_6467077197238272  LV1 2023年5月8日
微信网友_6145740972576768  LV2 2022年12月21日
chocchow  LV2 2022年9月5日
zy2858223209  LV1 2022年8月17日
wangbadan123  LV1 2022年6月13日
wade Heng  LV1 2022年5月5日
fclfcl 2022年5月4日
暂无贡献等级
刘123456789  LV8 2022年4月2日
zhangchengyi  LV1 2022年3月18日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友