2

Com Interop と C# を使用しています。各行 (常に列 2) で特定の値を探して、Excel ファイルを反復処理する必要があります。一部の値では、行の背景色を赤に設定する必要があります。

問題が発生しています:

  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 に答える