Apache POI:在使用SOLID_FILL模式的conditionalFormatting中设置前景色期间出现的问题

问题描述 投票:0回答:1

我想使用一种格式来使用Apache POI在生成的Excel工作表中实现行带状格式(奇数行:灰色,偶数行:无背景色)。>

以下为相关代码:

       val sheetCF = sheet.sheetConditionalFormatting       
       val rule1 = sheetCF.createConditionalFormattingRule(
        "MOD(ROW(), 2) = 0")

       val fill1 = rule1.createPatternFormatting()
       fill1.setFillForegroundColor( XSSFColor(Color(245,245,245),DefaultIndexedColorMap())) // Light Gray color
      fill1.fillPattern = PatternFormatting.SOLID_FOREGROUND // this is causing issue
      val regions1 = arrayOf(CellRangeAddress.valueOf("A1:D10"))   
      sheetCF.addConditionalFormatting(regions1, rule1)

由于fillPattern,白色被用作前景。但是,如果使用了其他fillPattern,那么它可以正常工作。例:fill1.fillPattern = PatternFormatting.BIG_SPOTS

但是我需要使用固定模式。任何帮助将不胜感激。

我想使用一种格式来使用Apache POI在生成的Excel工作表中实现行带状格式(奇数行:灰色,偶数行:无背景色)。以下是相关代码:val ...

java kotlin apache-poi
1个回答
0
投票

与通常为单元格着色的方式相反,对于XSSFConditionalFormattingRule,您实际上必须使用setFillBackgroundColor()而不是setFillForegroundColor()

© www.soinside.com 2019 - 2024. All rights reserved.