動態

詳情 返回 返回

C#實現DataSet與Excel的雙向轉換 - 動態 詳情

在日常開發中,DataSet 是 .NET 程序中常用的數據容器,而 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,其中包含員工信息數據表。
下面的代碼演示瞭如何將 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. 將 DataTable 添加到 DataSet。

代碼示例:

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#導入Excel數據到DataSet


總結

通過本文的示例,我們學習瞭如何在 C# 中實現 DataSet 與 Excel 的雙向轉換,包括:

  • 導出 DataSet 到 Excel:用於報表生成或數據共享;
  • 從 Excel 導入到 DataSet:便於數據分析和後續處理。

這種方式非常適合 數據交換、報表導出、Excel 批量導入數據庫 等場景。

更多教程請參考:Spire.XLS for .NET 教程中心

user avatar huandanshendeshoushudao 頭像
點贊 1 用戶, 點贊了這篇動態!
點贊

Add a new 評論

Some HTML is okay.