0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

C#で実現するDataSetとExcelの双方向変換

Posted at

.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 ファイルに保存してみます。

処理の流れ:

  1. DataSet と DataTable を作成する
  2. WorkbookWorksheet を使って Excel を生成する
  3. InsertDataTable() メソッドで DataTable をシートに挿入する
  4. 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 ファイルが生成されます。

C#でDataSetをExcelにエクスポートする


Step 2: Excel から DataSet にインポートする

次に、Excel ファイルからデータを読み込み、DataSet に取り込む方法を見ていきます。

処理の流れ:

  1. Excel ファイルを読み込む
  2. ExportDataTable() メソッドでシートの内容を DataTable に変換する
  3. 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 ファイルに保存された従業員情報がコンソールに表示されます。

ExcelデータをC#でDataSetにインポートする


まとめ

この記事では、C# で DataSet と Excel の双方向変換 を行う方法を紹介しました。

  • DataSet → Excel のエクスポート:レポート作成やデータ共有に利用可能
  • Excel → DataSet のインポート:データ分析や後続処理に活用できる

このアプローチは、データ交換・レポート出力・Excel データの一括取り込み といったシナリオで特に有効です。

さらに詳しい解説は:Spire.XLS for .NET チュートリアルセンター をご参照ください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?