Browse Source

[bug-66413] try to fix HSSF code where you can set fill colors

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1906451 13f79535-47bb-0310-9956-ffa450edef68
tags/REL_5_2_4
PJ Fanning 1 year ago
parent
commit
5c964e4194

+ 4
- 4
poi/src/main/java/org/apache/poi/hssf/usermodel/HSSFCellStyle.java View File

@@ -649,8 +649,8 @@ public final class HSSFCellStyle implements CellStyle, Duplicatable {
public void setFillBackgroundColor(org.apache.poi.ss.usermodel.Color color)
{
if (color instanceof HSSFColor) {
short index2 = ((HSSFColor)color).getIndex2();
if (index2 != -1) setFillBackgroundColor(index2);
final short index = ((HSSFColor)color).getIndex();
if (index != -1) setFillBackgroundColor(index);
} else if (color != null) {
throw new IllegalArgumentException("HSSFCellStyle only accepts HSSFColor instances");
}
@@ -708,8 +708,8 @@ public final class HSSFCellStyle implements CellStyle, Duplicatable {
public void setFillForegroundColor(org.apache.poi.ss.usermodel.Color color)
{
if (color instanceof HSSFColor) {
short index2 = ((HSSFColor)color).getIndex2();
if (index2 != -1) setFillForegroundColor(index2);
final short index = ((HSSFColor)color).getIndex();
if (index != -1) setFillForegroundColor(index);
} else if (color != null) {
throw new IllegalArgumentException("HSSFCellStyle only accepts HSSFColor instances");
}

+ 6
- 0
poi/src/main/java/org/apache/poi/ss/util/CellUtil.java View File

@@ -398,9 +398,15 @@ public final class CellUtil {
if (properties.containsKey(FILL_FOREGROUND_COLOR_COLOR) && properties.get(FILL_FOREGROUND_COLOR_COLOR) == null) {
values.remove(FILL_FOREGROUND_COLOR);
}
if (properties.containsKey(FILL_FOREGROUND_COLOR) && !properties.containsKey(FILL_FOREGROUND_COLOR_COLOR)) {
values.remove(FILL_FOREGROUND_COLOR_COLOR);
}
if (properties.containsKey(FILL_BACKGROUND_COLOR_COLOR) && properties.get(FILL_BACKGROUND_COLOR_COLOR) == null) {
values.remove(FILL_BACKGROUND_COLOR);
}
if (properties.containsKey(FILL_BACKGROUND_COLOR) && !properties.containsKey(FILL_BACKGROUND_COLOR_COLOR)) {
values.remove(FILL_BACKGROUND_COLOR_COLOR);
}
putAll(properties, values);

// index seems like what index the cellstyle is in the list of styles for a workbook.

Loading…
Cancel
Save