ここでは、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 は凄いし便利だと思います