NPOIは、スプレッドシートで動作するアプリケーションを開発するためのオープンソース.NET APIです。無料で利用でき、.NETプロジェクトで使用できます。 NPOIはシンプルで使いやすく、Excelスプレッドシートの作業を開始するために簡単にセットアップできます。 この記事では、NPOI APIを使用してExcel XLSXファイルを作成、読み取り、保存することを検討しますが、同じ方法でXLSファイル形式で動作できます。この記事には、NPOI APIのインストール、開発環境のセットアップ、およびNPOIを使用したスプレッドシートの操作に関する詳細が含まれています。

  1. NPOI APIのインストールガイド: NPOI APIを使用する最初のステップは、パッケージをインストールすることです。公式Webサイトからパッケージをダウンロードするか、Visual StudioでNugetパッケージマネージャーを使用して、NPOIをインストールできます。パッケージがインストールされたら、プロジェクトで使用を開始できます。参照については、このNPOIインストールガイドを参照してください。
  2. 開発環境のセットアップ: NPOI APIを使用するには、開発環境を使用する準備ができている必要があります。この目的のために、マシンにVisual Studioをインストールできます。 3.*NPOI APIを使用して新しいスプレッドシートを作成する:**環境が設定されたので、DLLへの参照を含めることにより、プロジェクトのAPIの操作を開始できます。

スプレッドシートでの作業

さて、NPOIがセットアップされたので、XLSXファイルを操作するためにNPOI APIを使用することを始めましょう。具体的には、次のようになります。

  • C#でNPOIを使用して新しいスプレッドシートを作成する
  • NPOIを使用したXLSXファイルからデータを読み取ります
  • NPOIを使用してXLSXとしてExcelスプレッドシートを保存します

c#{.wp-block-heading}でNPOIを使用して新しいスプレッドシートを作成します}

次のコードスニペットは、単一のワークシートで新しいスプレッドシートを作成する方法を示しています。

using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;

// create a new workbook
IWorkbook wb = new XSSFWorkbook();

// create a new worksheet
ISheet ws = wb.CreateSheet("Sheet1");

// create a new row
IRow row = ws.CreateRow(0);

// create a new cell and set its value
ICell cell = row.CreateCell(0);
cell.SetCellValue("Hello World!");

// save the workbook
using (var fileStream = new FileStream("myWorkbook.xlsx", FileMode.Create, FileAccess.Write))
{
    wb.Write(fileStream);
}

NPOI APIを使用したスプレッドシートからデータを読む

スプレッドシートを使用する際の最も一般的なタスクの1つは、それらからデータを読み取ることです。 NPOI APIは、スプレッドシートからデータを読み取るいくつかの方法を提供します。次のコードスニペットは、スプレッドシートのセルからデータを読み取る方法を示しています。

using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;

// load an existing workbook
IWorkbook wb = new XSSFWorkbook("myWorkbook.xlsx");

// get the first worksheet
ISheet ws = wb.GetSheetAt(0);

// get the first row
IRow row = ws.GetRow(0);

// get the first cell
ICell cell = row.GetCell(0);

// get the cell value
string cellValue = cell.StringCellValue;

NPOI APIを使用してスプレッドシートにデータを書き込む

スプレッドシートを操作するときの別の一般的なタスクは、データを書き込むことです。 NPOI APIは、スプレッドシートにデータを書き込むいくつかの方法を提供します。次のコードスニペットは、スプレッドシートのセルにデータを書き込む方法を示しています。

using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;

// load an existing workbook
IWorkbook wb = new XSSFWorkbook("myWorkbook.xlsx");

// get the first worksheet
ISheet ws = wb.GetSheetAt(0);

// get the first row
IRow row = ws.GetRow(0);

// get the first cell
ICell cell = row.CreateCell(1);

// set the cell value
cell.SetCellValue("World!");

// save the workbook
using (var fileStream = new FileStream("myWorkbook.xlsx", FileMode.Create, FileAccess.Write))
{
    wb.Write(fileStream);
}

上記の例では、既存のワークブックをロードし、最初のワークシートを取得します。次に、最初の行を取得し、列インデックス1で新しいセルを作成します。次に、セルの値を設定してワークブックを保存します。

NPOI APIを使用して既存のスプレッドシートを更新

NPOI APIは、既存のスプレッドシートを更新するいくつかの方法も提供します。次のコードスニペットは、スプレッドシート内のセルの値を更新する方法を示しています。

using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;

// load an existing workbook
IWorkbook wb = new XSSFWorkbook("myWorkbook.xlsx");

// get the first worksheet
ISheet ws = wb.GetSheetAt(0);

// get the first row
IRow row = ws.GetRow(0);

// get the first cell
ICell cell = row.GetCell(0);

// set the cell value
cell.SetCellValue("Hello NPOI!");

// save the workbook
using (var fileStream = new FileStream("myWorkbook.xlsx", FileMode.Create, FileAccess.Write))
{
    wb.Write(fileStream);
}

上記の例では、既存のワークブックをロードし、最初のワークシートを取得します。次に、最初の行と最初のセルを取得し、セルの値を更新します。最後に、ワークブックを保存します。

スプレッドシートを操作するためのその他のnpoi例