我正在尝试根据其文本内容更改单元格的背景颜色。例如:对于文本=“进行中”,它应该是黄色,对于文本=“已完成”,它应该是绿色。没有任何线索可以继续使用C#进行自动化。
引用了以下链接,但没有运气
data.env <- new.env()
getSymbols("0005.HK", env=data.env)
ls.str(data.env)
0005.HK : An 'xts' object on 2007-01-02/2019-05-23 containing:
Data: num [1:3058, 1:6] 143 144 145 144 142 ...
- attr(*, "dimnames")=List of 2
..$ : NULL
..$ : chr [1:6] "0005.HK.Open" "0005.HK.High" "0005.HK.Low" "0005.HK.Close" ...
Indexed by objects of class: [Date] TZ: UTC
xts Attributes:
List of 2
$ src : chr "yahoo"
$ updated: POSIXct[1:1], format: "2019-05-24 23:14:45"
单元格中正在进行的文本的颜色应更改为黄色
答案 0 :(得分:1)
这里有两种不同的实现方法。
对于公式表达式,您需要使用格式C2="In Progress"
,其中C2
是应用条件格式的范围内的顶部单元格-它仍将应用于该范围内的其他单元格以正确的方式。
var formatExpressionInProgress = worksheet.ConditionalFormatting.AddExpression(new ExcelAddress("C2:C5"));
formatExpressionInProgress.Formula = "C2=\"In Progress\"";
formatExpressionInProgress.Style.Fill.PatternType = ExcelFillStyle.Solid;
formatExpressionInProgress.Style.Fill.BackgroundColor.Color = Color.Yellow;
更直观地,您可以使用Equal类型表达式,而不是使用.AddEqual
而不是AddExpression
,然后在公式中仅使用"Completed"
来匹配条件应适用的位置。
var formatExpressionCompleted = worksheet.ConditionalFormatting.AddEqual(new ExcelAddress("C2:C5"));
formatExpressionCompleted.Formula = "\"Completed\"";
formatExpressionCompleted.Style.Fill.PatternType = ExcelFillStyle.Solid;
formatExpressionCompleted.Style.Fill.BackgroundColor.Color = Color.Green;