我正在使用 Apache POI 在 Java 中生成 XSSF 电子表格。我要做的是生成一个条件格式公式,类似于“如果单元格 $A2="X" 中的值,则将 $C2 变为绿色”,然后将其一直应用到 C 列。
不过,我还没有在网上看到任何这样的例子——我看到的所有例子一次只处理一列,而不是参考。有可能吗?
我正在使用 Apache POI 在 Java 中生成 XSSF 电子表格。我要做的是生成一个条件格式公式,类似于“如果单元格 $A2="X" 中的值,则将 $C2 变为绿色”,然后将其一直应用到 C 列。
不过,我还没有在网上看到任何这样的例子——我看到的所有例子一次只处理一列,而不是参考。有可能吗?
您要应用的条件格式规则类似于:
SheetConditionalFormatting scf = sheet.getSheetConditionalFormatting();
ConditionalFormattingRule cfr1 = scf.createConditionalFormattingRule("(indirect(address(row(), column() - 1))) = \"CDS correct\"");
该公式查找当前单元格左侧第二个单元格的值。然后,您可以使用适合您已填充的 C 列中的行数的 CellRangeAddress。
您需要将它们放在 ( ) 中以允许这样做。试试这个,在 CondiFormat 到单元格 C2 中使用公式来确定要格式化的单元格并在此公式中键入=($F2="CDS correct")
当您的 F 列具有“CDS 正确”时,这将是正确的
希望这可以帮助,
-Scheballs