2

我正在使用 Com Interop 和 C#。我必须遍历一个 Excel 文件,在每一行中查找某些值(总是在第 2 列中)。对于某些值,我需要将行的背景颜色设置为红色。

我遇到了麻烦:

  1. 读取第 i 行的单元格 [i][2] 中的值,然后
  2. 设置该行的背景颜色。

基本上我正在寻找这样的东西(这是我在谷歌搜索后能找到的最好的东西):

// ws is the worksheet
for (int i = 1; i <= ws.Rows.Count; i++)
{
    Range range = ws.Cells[i][2];
    int count = Convert.ToInt32(range.Value2.ToString());
    if (count >= 3)
    {
        Range chronic = ws.UsedRange.Rows[i];
        chronic.EntireRow.Cells.Interior.Color = 0xFF0000;
    }
}

当然,这是行不通的。我无法通过阅读牢房的第一个障碍。任何建议表示赞赏。

4

1 回答 1

1

尝试这个。该代码假定第 2 列单元格中的值是一个数字。

using Excel = Microsoft.Office.Interop.Excel;
using System.Reflection;

Missing noValue = Missing.Value;
Excel.Range conditionalCell;
foreach (Excel.Range usedRange in ws.UsedRange.Rows)
{
    conditionalCell = usedRange.Cells[noValue, 2] as Excel.Range;
    if (Convert.ToInt32(conditionalCell.Value2) >= 3)
    {
        usedRange.Cells.Interior.Color = Excel.XlRgbColor.rgbRed;
    }
}
于 2012-07-31T01:20:31.493 回答