我正在使用Com Interop和C#。我必须遍历Excel文件,在每个行中查找某些值(始终在第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;
}
}
当然这不起作用。我无法超越阅读细胞的第一道障碍。任何建议都表示赞赏。
答案 0 :(得分: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;
}
}