C#Excel宏-如何检查单元格值是否为负值并更改其字体颜色?

C#Excel宏-如何检查单元格值是否为负值并更改其字体颜色?,c#,excel,C#,Excel,我需要检查单元格的值是负数还是正数,如果是负数-将其字体颜色更改为红色。这就是我试图做的,它不起作用 oRange2 = oWorksheet.get_Range("L14"); int value = oRange2.Value; if(value < 0) { oRange2.Font.ColorIndex = 3;

我需要检查单元格的值是负数还是正数,如果是负数-将其字体颜色更改为红色。这就是我试图做的,它不起作用

                oRange2 = oWorksheet.get_Range("L14");
                int value = oRange2.Value;

                if(value < 0)
                {
                    oRange2.Font.ColorIndex = 3;
                }
oRange2=oWorksheet.get_范围(“L14”);
int value=oRange2.value;
如果(值<0)
{
橙色2.Font.ColorIndex=3;
}

有什么建议吗?

[Red][像
[Red]这样的自定义数字格式[为什么不使用Excel的条件格式?因为我必须在SSIS中完成所有这些工作。但也许我会尝试编写VBA脚本,而不是C#我不知道C#,所以这个问题听起来可能很愚蠢,但C#在转换为整数时会截断值,还是会舍入到较低的整数,或者舍入到较近的整数,或者其他什么?只是w如果L14包含数字
-0.4
-将
值设置为
-1
0
,则会发生什么?自定义数字格式,如
常规;[红色]general;general;@
可以帮你。为什么不使用Excel的条件格式呢?因为我必须在SSIS中完成所有这些工作。但也许我会尝试编写VBA脚本,而不是C#我不知道C#,所以这个问题可能听起来很愚蠢,但C#在转换为整数时会截断值,还是会舍入到较低的整数,还是舍入到t他是更接近整数,还是其他什么?只是想知道如果L14包含数字
-0.4
-会发生什么情况
会被设置为
-1
还是
0
?一种自定义的数字格式,如
常规;[红色]一般;一般;@
可以帮你。它可以工作!:)但它使数字为正,我的意思是:在它是-5之前,现在是5,我如何使这个数字仍然为负?你可以添加括号或减号来显示负值;例如
[红色][它可以工作!:)但它使数字为正,我的意思是:在它是-5之前,现在是5,我如何使这个数字仍然为负?您可以添加括号或减号来显示负值;例如,
[Red][
oWorksheet.get_Range("L14").NumberFormat = "[Red][<0]General;General";
//... or for the whole column
oWorksheet.get_Range("L14").EntireColumn.NumberFormat = "[color9][<0]General;General";
// red with brackets
oWorksheet.get_Range("L14").EntireColumn.NumberFormat = "[Red][<0](General);General_)"
// red with minus sign
oWorksheet.get_Range("L14").EntireColumn.NumberFormat = "[Red][<0]-General;General"