对于 HSSF 内置颜色,是否有其他方法可以避免 Apache POI 中的弃用?
Is there any alternate way to avoid deprecation in Apache POI, for HSSF built-in colors?
在我的代码中,如果文本是 "PASS",我想更改 HSSFWorkbook 特定列的单元格颜色。但是当我写代码的时候,有很多方法和常量,比如 BRIGHT_GREEN.index, setFillPattern, SOLID_FOREGROUND 已弃用。我在 Apache POI 官方网站上搜索了一个替代方案,但那里给出的代码也已弃用。我知道如果我提到 @deprecation 标签没有问题,但有时在 100-150 行(行)之后,单元格颜色没有改变。谁能告诉我有没有其他方法可以避免@deprecation?仅供参考:我正在使用 poi-bin-3.17-beta1-20170701 罐子。
提前致谢:)
if(cell.getStringCellValue().equalsIgnoreCase("Pass")){
HSSFCellStyle style = workbook.createCellStyle();
style.setFillForegroundColor(HSSFColor.BRIGHT_GREEN.index);
style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
cell.setCellStyle(style);
}
来自他们的文档:
/**
* @deprecated use {@link HSSFColorPredefined} instead
*/
@Deprecated
@Removal(version="3.18")
public static class BRIGHT_GREEN extends HSSFColorRef {
private static final HSSFColorPredefined ref = HSSFColorPredefined.BRIGHT_GREEN;
public static final short index = ref.getIndex();
public static final int index2 = ref.getIndex2();
public static final short[] triplet = ref.getTriplet();
public static final String hexString = ref.getHexString();
public BRIGHT_GREEN() { super(ref); }
}
所以在你的情况下:HSSFColor.HSSFColorPredefined.BRIGHT_GREEN
为了你的setFillPattern
:
style.setFillPattern(FillPatternType.SOLID_FOREGROUND);
您的新代码应如下所示
style = workbook.createCellStyle();
style.setFillForegroundColor(HSSFColor.HSSFColorPredefined.BRIGHT_GREEN.getIndex())
style.setFillPattern(FillPatternType.SOLID_FOREGROUND);
在我的代码中,如果文本是 "PASS",我想更改 HSSFWorkbook 特定列的单元格颜色。但是当我写代码的时候,有很多方法和常量,比如 BRIGHT_GREEN.index, setFillPattern, SOLID_FOREGROUND 已弃用。我在 Apache POI 官方网站上搜索了一个替代方案,但那里给出的代码也已弃用。我知道如果我提到 @deprecation 标签没有问题,但有时在 100-150 行(行)之后,单元格颜色没有改变。谁能告诉我有没有其他方法可以避免@deprecation?仅供参考:我正在使用 poi-bin-3.17-beta1-20170701 罐子。 提前致谢:)
if(cell.getStringCellValue().equalsIgnoreCase("Pass")){
HSSFCellStyle style = workbook.createCellStyle();
style.setFillForegroundColor(HSSFColor.BRIGHT_GREEN.index);
style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
cell.setCellStyle(style);
}
来自他们的文档:
/**
* @deprecated use {@link HSSFColorPredefined} instead
*/
@Deprecated
@Removal(version="3.18")
public static class BRIGHT_GREEN extends HSSFColorRef {
private static final HSSFColorPredefined ref = HSSFColorPredefined.BRIGHT_GREEN;
public static final short index = ref.getIndex();
public static final int index2 = ref.getIndex2();
public static final short[] triplet = ref.getTriplet();
public static final String hexString = ref.getHexString();
public BRIGHT_GREEN() { super(ref); }
}
所以在你的情况下:HSSFColor.HSSFColorPredefined.BRIGHT_GREEN
为了你的setFillPattern
:
style.setFillPattern(FillPatternType.SOLID_FOREGROUND);
您的新代码应如下所示
style = workbook.createCellStyle();
style.setFillForegroundColor(HSSFColor.HSSFColorPredefined.BRIGHT_GREEN.getIndex())
style.setFillPattern(FillPatternType.SOLID_FOREGROUND);