【发布时间】:2014-12-20 11:31:46
【问题描述】:
我想要的是能够根据其中的文本值更改某些 Excel 文件单元格的颜色。
这是我所拥有的:
private void validator(Excel.Worksheet sheet, int lastCellRowNum, XlRgbColor color)
{
FormatCondition cond = sheet.get_Range("A1:I"+lastCellRowNum,Type.Missing).FormatConditions.Add(XlFormatConditionType.xlCellValue, XlFormatConditionOperator.xlEqual, sheet.Cells[1,1]);
cond.Interior.Color = color;
}
此代码将 Cell[1,1] 的 exact 值与其他值进行比较,而不仅仅是包含的一段字符串。
基本上,我想要的是一种允许“包含”条件提高代码性能的格式。例如,如果在 Cell[1,1].Value2 中为“Hello”,我希望任何具有 Value2 等于“ByeHelloBye”的 Cell 或任何其他包含“Hello”的字符串都包含在条件中。
现在我必须尽可能多地调用这个方法 30 次,因为我不知道如何创建这个条件。将所有格式应用于 70.000 行需要 35 秒。太多了。
解决我的问题的其他可能方法是:
- 将整个二维颜色数组传递给 Excel。
对不起我的英语,提前谢谢。
【问题讨论】:
标签: c# excel conditional-formatting