「ClosedXML - Excelファイルの操作」の版間の差分

ナビゲーションに移動 検索に移動
558行目: 558行目:
     // 条件の評価ロジックを実装
     // 条件の評価ロジックを実装
     // 例: ">10", "=Test", "<5"などの条件をパースして評価
     // 例: ">10", "=Test", "<5"などの条件をパースして評価
}
</syntaxhighlight>
<br><br>
== 条件付き書式の適用 ==
条件付き書式は、データの傾向や例外を視覚的に把握するのに役立つ。<br>
<br>
Closed XMLでは、<code>AddConditionalFormat</code>メソッドを使用して、各条件付き書式のルールを設定することができる。<br>
<br>
以下の例では、条件付き書式をExcelシートに適用している。<br>
<br>
* サンプルデータを生成して、シートに挿入する。
* 3つの異なる条件付き書式を適用する。
** 値が50より大きい場合、セルを赤色に塗る。
** 値が25以下の場合、セルを緑色に塗る。
** データバーを適用して、値の大きさを視覚的に表現する。
<br>
<syntaxhighlight lang="c#">
using System;
using System.Linq;
using ClosedXML.Excel;
class Program
{
    static void Main(string[] args)
    {
      Console.WriteLine("条件付き書式の適用を開始...");
      try
      {
          using (var workbook = new XLWorkbook())
          {
            var worksheet = workbook.Worksheets.Add("条件付き書式");
            // サンプルデータを挿入
            var data = Enumerable.Range(1, 20).Select(i => new { Value = i * 5 }).ToList();
            worksheet.Cell(1, 1).Value = "Value";
            worksheet.Cell(2, 1).InsertData(data);
            // 条件付き書式を適用
            var range = worksheet.Range(2, 1, 21, 1);
            // 1. 値が50より大きい場合、セルを赤色に
            var rule1 = range.AddConditionalFormat();
            rule1.WhenGreaterThan(50).Fill.SetBackgroundColor(XLColor.Red);
            // 2. 値が25以下の場合、セルを緑色に
            var rule2 = range.AddConditionalFormat();
            rule2.WhenLessThanOrEqual(25).Fill.SetBackgroundColor(XLColor.Green);
            // 3. データバーを適用
            var rule3 = range.AddConditionalFormat();
            rule3.DataBar(XLColor.Blue);
            workbook.SaveAs("条件付き書式.xlsx");
          }
          Console.WriteLine("条件付き書式の適用が完了");
      }
      catch (Exception ex)
      {
          Console.WriteLine($"エラーが発生: {ex.Message}");
      }
    }
  }
  }
  </syntaxhighlight>
  </syntaxhighlight>

案内メニュー