ClosedXML で簡単な Excel ファイルを作成する方法

ここでは ClosedXML を利用して、単純な Excel ファイルを出力する方法を説明します。

例によって "Hello world" という文字を書き出してみましょう。ここで作る Excel ファイルの出来上がりは次のようになります。

ここでは C# を用いて Windows コンソールアプリケーションとして作成します。まずは、プロジェクトに ClosedXML を インストールする必要があります。

» ClosedXML のインストール

ClosedXML を利用するときは、次のように using ディレクティブで ClosedXML.Excel 名前空間を指定すると便利です。

ClosedXML のクラスは基本的に XL の接頭辞付きです。

C2 のセルに文字を書き込み、そのファイルを C:\Temp\test1.xlsx として出力するコードは次のようになります。

using ClosedXML.Excel;
namespace ClosedXMLTest1
{
    class Program
    {
        static void Main(string[] args)
        {
            var workbook = new XLWorkbook();
            var worksheet = workbook.Worksheets.Add("Tab A");
            worksheet.Cell("C2").Value = "Hello world!";
            // 書式変更 (任意)
            worksheet.Cell("C2").Style.Font.Bold = true;
            worksheet.Cell("C2").Style.Font.FontSize = 24;

            workbook.SaveAs(@"C:\Temp\test1.xlsx");
        }
    }
}

出力先のフォルダは、存在しなければ自動的に作成されます。 しかし、ファイルが書き込みできない場合などは例外が投げられますので、例外処理は必ずやりましょう。 (サンプルでは単純化のため省略しますが)

セルアドレスの指定は "C2" の代わりに、次のように (2, 3) のような、1始まりのインデックスでアクセスすることも可能です。

        ...
        worksheet.Cell(2, 3).Value = "Hello world!";
        worksheet.Cell(2, 3).Style.Font.Bold = true;
        worksheet.Cell(2, 3).Style.Font.FontSize = 24;
        ...

アルファベットによるセル指定の場合、A, B, C, ..., Z, AA, AB, ... という風に進むので、単純な文字のインクリメントでは AA 以降に対応できず少々厄介です。 このためインデックスによるセル指定は便利です。

ここまでお読みいただき、誠にありがとうございます。SNS 等でこの記事をシェアしていただけますと、大変励みになります。どうぞよろしくお願いします。

© 2024 C# 入門