[ NPOI C# ] エクセルファイルを作成する ( XSSFWorkbook, HSSFWorkbook )

Pocket

ここでは、NPOI でエクセルファイルを作成するサンプルコードを掲載しています。Excel2007 以降のフォーマットである xlsx および Excel2003 までの xls 形式のいずれのファイルにも対応しています。

スポンサーリンク

NPOI 入門: エクセルファイルを作成する

NPOI を使用してエクセルファイルを作成する簡単なサンプルコードになります。詳細はサンプル内のコメントを参照ください。

C#

//using NPOI.HSSF.UserModel;
//using NPOI.SS.UserModel;
//using NPOI.XSSF.UserModel;

    // Excelのブックを作成(Office2007以降の形式)
    XSSFWorkbook bookObj = new XSSFWorkbook();

    //// Excel2003 形式で作成する場合は、以下
    //HSSFWorkbook bookObj = new HSSFWorkbook();

    // シート名を指定してシートを作成
    ISheet sheetObj = bookObj.CreateSheet("大石内蔵助");

    // 10行3列分のセルに値を書き込む
    for (int i = 0; i< 10;i++) 
    {
        // 行を作成する
        IRow rowObj = sheetObj.CreateRow(i);

        for (int j = 0; j< 3; j++)
        {
            // セルを作成する
            ICell cellObj = rowObj.CreateCell(j);
            // 作成したセルに値を設定する
            cellObj.SetCellValue(i.ToString() + "-" + j.ToString());
        }
    }

    // 保存するエクセルファイルのパス
    string filePath = @"/path/to/excel.xlsx";

    // エクセルファイルを作成
    // 作成したらさっさと閉じる
    using (FileStream fs = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.Write))
    {
        bookObj.Write(fs);
    }

メモ:

Excel2013 で作成したファイルで確認したのみの情報ですが、NPOI でエクセルファイルを読み込んで、元ファイルに上書きするとチョイチョイ、エクセルファイルが破壊されてしまいます。NPOI ライブラリの使い方が間違っているだけの可能性もありますが、どことなく不安です。

もちろん、NPOI は凄いし便利だと思います

スポンサーリンク


Pocket

Leave a Comment

Your email address will not be published. Required fields are marked *