gpt4 book ai didi

c# - NPOI Excel/C# 需要公式以编程方式更改条件格式的背景

转载 作者:行者123 更新时间:2023-11-30 21:33:31 26 4
gpt4 key购买 nike

我正在使用 NPOI 以编程方式创建 Excel 文件。要求之一是它需要能够根据值更改单元格的背景 - 绿色表示好数字,红色表示坏数字等。我的一切都运行良好并且可以创建公式......但我不能终生我找到了一个显示如何更改背景颜色的公式。无论我如何尝试用谷歌搜索答案,一切都只是想展示如何打开 Excel 和使用条件格式设置向导。我忽略了什么?有没有一种方法可以让我看到条件格式设置向导创建的公式并将其复制并粘贴到我的代码中?

下面是我设置的一个示例,用于将字段更改为通过/失败...但我的窥视者喜欢 Shiny 的颜色来配合它...

XSSFWorkbook wb = new XSSFWorkbook();
XSSFSheet sh = (XSSFSheet)wb.CreateSheet("ACT");

string cf = "IF(" + engCell + (detailRow.RowNum + 1) + @">17,""Pass :)"", ""Fail :("")";
detailRow.CreateCell(detailIdx);
detailRow.GetCell(detailIdx).SetCellType(CellType.Formula);
detailRow.GetCell(detailIdx++).SetCellFormula(cf);

最佳答案

我知道了!!!我希望这可以帮助其他使用 NPOI XSSF 进行条件格式化的人:

XSSFWorkbook wb = new XSSFWorkbook();
XSSFSheet sh = (XSSFSheet)wb.CreateSheet("ACT");

sh.CreateRow(0).CreateCell(0).SetCellValue(14);
sh.CreateRow(1).CreateCell(0).SetCellValue(20);
sh.CreateRow(2).CreateCell(0).SetCellValue(10);
sh.CreateRow(3).CreateCell(0).SetCellValue(23);
sh.CreateRow(4).CreateCell(0).SetCellValue(19);
sh.CreateRow(5).CreateCell(0).SetCellValue(14);

XSSFSheetConditionalFormatting sCF = (XSSFSheetConditionalFormatting)sh.SheetConditionalFormatting;

//Fill Green if Passing Score
XSSFConditionalFormattingRule cfGreen =
(XSSFConditionalFormattingRule)sCF.CreateConditionalFormattingRule(ComparisonOperator.GreaterThanOrEqual, "19");
XSSFPatternFormatting fillGreen = (XSSFPatternFormatting)cfGreen.CreatePatternFormatting();
fillGreen.FillBackgroundColor = IndexedColors.LightGreen.Index;
fillGreen.FillPattern = FillPattern.SolidForeground;

//Fill Red if Passing Score
XSSFConditionalFormattingRule cfRed =
(XSSFConditionalFormattingRule)sCF.CreateConditionalFormattingRule(ComparisonOperator.LessThan, "19");
XSSFPatternFormatting fillRed = (XSSFPatternFormatting)cfRed.CreatePatternFormatting();
fillRed.FillBackgroundColor = IndexedColors.Red.Index;
fillRed.FillPattern = FillPattern.SolidForeground;

CellRangeAddress[] cfRange = { CellRangeAddress.ValueOf("A1:A6") };
sCF.AddConditionalFormatting(cfRange, cfGreen, cfRed);

关于c# - NPOI Excel/C# 需要公式以编程方式更改条件格式的背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51327146/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com