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日

