読者です 読者をやめる 読者になる 読者になる

C#でExcelファイルを読み込む ClosedXmlを使用

C# Programming .NET NuGet

ClosedXML

C#でExcelファイルを読み込む.以下の記事で紹介したClosedXMLを使用する.インストールはNuGetから可能.
C#でExcelファイルを作成する ClosedXmlを使用 - whoopsidaisies's diary

サンプルコード

ファイルを読み込んで,セルの値と数式を表示するプログラムを以下に載せる.すごく簡単.関数を使っているセルとかも計算後の値が表示される.

// ワークブックの読み込み
using (var wb = new ClosedXML.Excel.XLWorkbook(@"test.xlsx"))
{
    // すべてのシートについてループ
    foreach (var ws in wb.Worksheets)
    {
        Console.WriteLine(ws.Name);
        // 値が入っているセルについてループ
        foreach (var cell in ws.CellsUsed())
        {
            // セルのアドレス,値,数式を使ってれば数式を表示
            Console.WriteLine("{0} : {1} : {2}",
               cell.Address, cell.Value, cell.FormulaA1);
        }
    }
}

使用例

Sheet1
A1 : 1 :
B1 : 2 :
C1 : 3 :
D1 : 6 : SUM(A1:C1)
A2 : 4 :
B2 : 5 :
C2 : 6 :
D2 : 0.666666666666668 : VARP(A2:C2)
Sheet2
A1 : 山田 太郎 :
B1 : 山田 : LEFT(A1,FIND(" ",A1)-1)
Sheet3
A1 : 2013/12/16 20:01:39 : NOW()
A2 : 5 : Sheet1!A1+Sheet1!A2