[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
This commit is contained in:
PJ Fanning 2023-01-07 22:24:49 +00:00
parent 968dabd462
commit 5c964e4194
2 changed files with 10 additions and 4 deletions

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");
}

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.