如何在excel中定义色阶条件格式

时间:2014-05-29 14:14:37

标签: c# excel

我正在尝试使用C#在Excel中的数据列上设置色阶条件格式。我已经成功添加了其他条件格式规则,但我不明白如何设置这个规则。 这是我添加的条件规则有效:

Excel.Range Rng = workSheet.get_Range("H2", "J" + ExcelRowcount.ToString());                Excel.FormatConditions rule2 = Rng.FormatConditions;

Excel.FormatCondition between = (Excel.FormatCondition)rule2.Add(Microsoft.Office.Interop.Excel.XlFormatConditionType.xlCellValue, Excel.XlFormatConditionOperator.xlBetween, 0.049999, 0.15, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

Excel.Interior interior3 = between.Interior;
interior3.Color = ColorTranslator.ToOle(Color.LavenderBlush);

但是现在我试图让它成为一个色阶规则,我不明白如何格式化长excel函数,这是我到目前为止

Excel.Range range = workSheet.get_Range("L2", "L" +ExcelRowcount.ToString());
Excel.FormatConditions rule3 = range.FormatConditions;

Excel.FormatCondition colorscale = (Excel.FormatCondition)rule3.Add(Microsoft.Office.Interop.Excel.XlFormatConditionType.xlColorScale, Excel.XlFormatConditionType.xlColorScale, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

列中的值是某些计算的结果,并且事先不知道,所以我需要规则从高值到低值。
我无法做到这个Excel.XlFormatConditionType使用的任何地方的例子,所以如果有人可以帮我解决这个问题真的很棒! 谢谢!

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,对我来说,下面的工作是设置颜色标记:

MySheet = MyBook.Sheets.get_Item(1);

Excel.ColorScale cfColorScale = (Excel.ColorScale)(MySheet.get_Range("B15", "K34").FormatConditions.AddColorScale(3));
cfColorScale.ColorScaleCriteria[1].Type = Excel.XlConditionValueTypes.xlConditionValueLowestValue;
cfColorScale.ColorScaleCriteria[1].FormatColor.Color = 0x000000FF;  // Red

cfColorScale.ColorScaleCriteria[2].Type = Excel.XlConditionValueTypes.xlConditionValuePercentile;
cfColorScale.ColorScaleCriteria[2].Value = 50;
cfColorScale.ColorScaleCriteria[2].FormatColor.Color = 0x00FFCC00;  // yellow

cfColorScale.ColorScaleCriteria[3].Type = Excel.XlConditionValueTypes.xlConditionValueHighestValue;
cfColorScale.ColorScaleCriteria[3].FormatColor.Color = 0x0000FF00;  // green 

我自己对C#很陌生并且还在学习......因此我无法详细阐述解决方案,因为我在google-code上找到的代码中对此进行了调整 - >

https://code.google.com/p/innovtech/source/browse/trunk/InnovTech/InnovTech.Localization/ExcelFile.cs?spec=svn94&r=94

希望它有所帮助?