Excel提供基于公式的条件格式设置规则。
如果in的值是数字且大于5 , 则该公式
=AND(ISNUMBER($C1),$C1>5)返回。如果将此公式应用于范围,则如果相应行的列中的值满足该条件,则此范围内的每个单元格都为true
。那是因为列在公式中使用固定。但是行号不是固定的,因此是固定的。
True``$C1``G1:L1000``C``C``$C
使用示例
apache poi:
import org.apache.poi.ss.usermodel.*;import org.apache.poi.xssf.usermodel.XSSFWorkbook;import org.apache.poi.ss.util.CellRangeAddress;import java.io.FileOutputStream;public class ConditionalFormatting { public static void main(String[] args) throws Exception { Workbook workbook = new XSSFWorkbook(); Sheet sheet = workbook.createSheet("new sheet"); SheetConditionalFormatting sheetCF = sheet.getSheetConditionalFormatting(); ConditionalFormattingRule rule = sheetCF.createConditionalFormattingRule("AND(ISNUMBER($C1), $C1>5)"); PatternFormatting fill = rule.createPatternFormatting(); fill.setFillBackgroundColor(IndexedColors.YELLOW.index); fill.setFillPattern(PatternFormatting.SOLID_FOREGROUND); ConditionalFormattingRule[] cfRules = new ConditionalFormattingRule[]{rule}; CellRangeAddress[] regions = new CellRangeAddress[]{CellRangeAddress.valueOf("G1:L1000")}; sheetCF.addConditionalFormatting(regions, cfRules); workbook.write(new FileOutputStream("ConditionalFormatting.xlsx")); workbook.close(); }}
现在,如果您在
C数字列中放置数值大于5的内容,则列中的单元格
G:L将填充为黄色。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)