Excel Interop 2007中的条件格式

时间:2011-01-28 01:24:53

标签: c# excel-2007 excel-interop

如何在excel interop 2007中获取单元格的显示格式。我有一个单元格,其中字体的粗体取决于另一个单元格中的值。无论条件是否满足,cell.Font.Bold和cell.Style.Font.Bold属性始终为false。 (单元格类型为Range)。那么有没有办法查询单元格的样式,因为用户会在Excel中看到它?

workbook = application.Workbooks.Open(fileName);
var worksheet = (Worksheet)workbook.Worksheets["Test"];

var cell = (Range)worksheet.Cells[8, 3];
var style = (Style)cell.Style;
strb.AppendLine("Bold: " + cell.Font.Bold); // -> False
strb.AppendLine("Bold: " + style.Font.Bold);// -> False

我也尝试过使用FormatConditions,但是我没有找到方法来了解条件是否得到满足。

干杯
Wullie

1 个答案:

答案 0 :(得分:1)

不幸的是,Excel不会为您提供“开箱即用”的功能,以告诉您已满足哪些条件。我见过的最好的代码会告诉你哪些条件是活动的Chuck Pearson's ActiveCondition代码。你必须将它从VBA翻译成C#。