.NETアプリケーションでは、DataSet はよく利用されるデータコンテナーであり、Excelファイル はデータ交換やレポートの形式として広く使われています。
実務では、データベースから取得した結果を Excel に出力したり、逆に Excel ファイルのデータを DataSet に取り込んで処理することが求められる場面が多くあります。
この記事では、C# と Free Spire.XLS for .NET を使って以下の操作を行う方法を紹介します:
- DataSet を Excel ファイルにエクスポートする
- Excel ファイルから DataSet にデータをインポートする
準備
プロジェクトに Excel 操作ライブラリを追加します。Free Spire.XLS for .NET をダウンロード するか、NuGet からインストールしてください。
Install-Package FreeSpire.XLS
Step 1: DataSet を Excel にエクスポートする
例として、従業員情報を格納した DataSet を Excel ファイルに保存してみます。
処理の流れ:
- DataSet と DataTable を作成する
-
Workbook
とWorksheet
を使って Excel を生成する -
InsertDataTable()
メソッドで DataTable をシートに挿入する - Excel ファイルとして保存する
コード例:
using System;
using System.Data;
using Spire.Xls;
class Program
{
static void Main()
{
// Step 1: DataSetとDataTableの作成
DataSet ds = new DataSet();
DataTable dt = new DataTable("Employees");
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Department", typeof(string));
dt.Rows.Add(1, "Tom", "HR");
dt.Rows.Add(2, "Lucy", "IT");
dt.Rows.Add(3, "David", "Finance");
ds.Tables.Add(dt);
// Step 2: Workbookを生成
Workbook workbook = new Workbook();
Worksheet sheet = workbook.Worksheets[0];
// Step 3: DataTableをExcelに挿入
sheet.InsertDataTable(dt, true, 1, 1);
// Step 4: Excelを保存
workbook.SaveToFile("Export.xlsx", ExcelVersion.Version2016);
}
}
このコードを実行すると、従業員情報を含む Excel ファイルが生成されます。
Step 2: Excel から DataSet にインポートする
次に、Excel ファイルからデータを読み込み、DataSet に取り込む方法を見ていきます。
処理の流れ:
- Excel ファイルを読み込む
-
ExportDataTable()
メソッドでシートの内容を DataTable に変換する - DataSet に DataTable を追加する
コード例:
using System;
using System.Data;
using Spire.Xls;
class Program
{
static void Main()
{
// Step 1: Excelファイルを読み込む
Workbook workbook = new Workbook();
workbook.LoadFromFile("Export.xlsx");
Worksheet sheet = workbook.Worksheets[0];
// Step 2: ExcelのデータをDataTableに変換
DataTable dt = sheet.ExportDataTable(sheet.AllocatedRange, true);
// Step 3: DataSetに追加
DataSet ds = new DataSet();
ds.Tables.Add(dt);
// 読み込んだ内容を確認
foreach (DataRow row in dt.Rows)
{
Console.WriteLine($"{row["ID"]}, {row["Name"]}, {row["Department"]}");
}
}
}
実行すると、Excel ファイルに保存された従業員情報がコンソールに表示されます。
まとめ
この記事では、C# で DataSet と Excel の双方向変換 を行う方法を紹介しました。
- DataSet → Excel のエクスポート:レポート作成やデータ共有に利用可能
- Excel → DataSet のインポート:データ分析や後続処理に活用できる
このアプローチは、データ交換・レポート出力・Excel データの一括取り込み といったシナリオで特に有効です。
さらに詳しい解説は:Spire.XLS for .NET チュートリアルセンター をご参照ください。