ClosedXML で使用中のセルを抽出する方法
エクセルのワークシートの中で、データが記載されている範囲を抽出する場合を考えましょう。
例えば次のようなシートがあるとします。
スカスカのシートの中で B3 と F6 にだけデータが入っています。
これらのセルの背景色を黄色にセットする場合は、次のように CellsUsed メソッドを用いると簡単に実現できます。
using ClosedXML.Excel;
namespace ClosedXMLTest1d
{
class Program
{
static void Main(string[] args)
{
var workbook = new XLWorkbook(@"C:\Temp\test_used.xlsx");
foreach(var worksheet in workbook.Worksheets)
{
worksheet.CellsUsed().Style.Fill.SetBackgroundColor(XLColor.Yellow);
}
workbook.Save();
}
}
}
実行結果は次の通りです。
範囲として扱いたい場合は CellsUsed の代わりに RangeUsed を用います。
worksheet.RangeUsed().Style.Fill.SetBackgroundColor(XLColor.Yellow);
このように複数のセルや範囲が一括で扱えます。