12,964
回編集
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> |