C#循环一个包含两个对象[0,0]的Range.Value,以查找string=variable

C#循环一个包含两个对象[0,0]的Range.Value,以查找string=variable,c#,object,loops,aspose,C#,Object,Loops,Aspose,我正在使用Aspose.Cells并创建了一系列单元格。此范围生成一个范围.Value,它由两个对象[行,列]组成。现在我想循环这些对象,在我的例子中是1行33列,每列插入一个字符串“day” 所以基本上我想循环并添加一个if语句,比如 if (range.Value.ToString() == "Sat") { range.ApplyStyle(backgroundColour, flg); }

我正在使用
Aspose.Cells
并创建了一系列单元格。此范围生成一个
范围.Value
,它由两个对象[行,列]组成。现在我想循环这些对象,在我的例子中是1行33列,每列插入一个字符串“day”

所以基本上我想循环并添加一个if语句,比如

          if (range.Value.ToString() == "Sat")
            {
                range.ApplyStyle(backgroundColour, flg);
            }
我是否必须以某种方式循环33个对象(列)


每个范围值表达式看起来像
((object[,])(range.value))[0,0]
当本例中的值为Fri时,然后是
((object[,])(range.value))[0,1]
在该值所在的位置,以此类推。

您可以像这样迭代整个范围:

    object[,] rng = (object[,])range.Value;

    for (int row = rng.GetLowerBound(0); row <= rng.GetUpperBound(0); row++)
    {
        for (int day = rng.GetLowerBound(1); day <= rng.GetUpperBound(1); day++)
        {
            string dayName = rng[row,day] as string;
        }
    }
object[,]rng=(object[,])range.Value;

对于(int row=rng.GetLowerBound(0);row您可以像这样在整个范围内迭代:

    object[,] rng = (object[,])range.Value;

    for (int row = rng.GetLowerBound(0); row <= rng.GetUpperBound(0); row++)
    {
        for (int day = rng.GetLowerBound(1); day <= rng.GetUpperBound(1); day++)
        {
            string dayName = rng[row,day] as string;
        }
    }
object[,]rng=(object[,])range.Value;

对于(int row=rng.GetLowerBound(0);应禁止为单元格使用对象[,]的行商业产品:应禁止为单元格使用对象[,]的Da商业产品:D