如何使用C# 將 DataTable 匯出至 Excel 教學

【C# DataTable轉Excel教學】快速掌握如何使用C#程式碼,將DataTable資料匯出到Excel文件的詳細步驟及範例。適合初學者和有經驗的開發者學習,有效提升工作效率。

讓資訊整合更靈活

記錄、協作、成長 — Notion帶來比Excel更靈活的工作方式!
免費使用

200+模板自動化工作流程

從數據到成果,只需一步 — 用Monday代替Excel,效率倍增!
免費使用

AI智能團隊協作

AI驅動的ClickUp超越Excel,讓工作更精準快速!
免費使用

簡介

在C#中,將DataTable匯出到Excel文件是一個常見的需求,特別是在報表生成和數據分析領域。這篇教學將詳細介紹如何在C#中使用NuGet包ClosedXML來實現這一功能。ClosedXML是一個非常方便的工具,可以輕鬆地生成和操作Excel文件。

準備工作

安裝ClosedXML

在開始之前,你需要在Visual Studio中創建一個新的C#項目,然後使用NuGet包管理器來安裝ClosedXML。

Install-Package ClosedXML

實現步驟

1. 新增命名空間

在你的C#文件頂部新增以下命名空間引用:

using System.Data;
using ClosedXML.Excel;

2. 創建DataTable

首先,我們需要創建一個DataTable並填充一些測試數據:


DataTable table = new DataTable();
table.Columns.Add("ID", typeof(int));
table.Columns.Add("Name", typeof(string));
table.Columns.Add("Age", typeof(int));

table.Rows.Add(1, "John Doe", 30);
table.Rows.Add(2, "Jane Smith", 25);
table.Rows.Add(3, "Sam Brown", 28);

3. 將DataTable匯出到Excel

接下來,使用ClosedXML來將DataTable數據匯出到Excel文件:


using (var workbook = new XLWorkbook())
{
    var worksheet = workbook.Worksheets.Add("Sheet1");
    for (int i = 1; i <= table.Columns.Count; i++)
    {
        worksheet.Cell(1, i).Value = table.Columns[i - 1].ColumnName;
    }

    for (int i = 0; i < table.Rows.Count; i++)
    {
        for (int j = 0; j < table.Columns.Count; j++)
        {
            worksheet.Cell(i + 2, j + 1).Value = table.Rows[i][j];
        }
    }

    workbook.SaveAs("output.xlsx");
}

完整示例

最後,這是一個完整的示例代碼,展示了如何將DataTable匯出到Excel文件:


using System;
using System.Data;
using ClosedXML.Excel;

class Program
{
    static void Main()
    {
        DataTable table = new DataTable();
        table.Columns.Add("ID", typeof(int));
        table.Columns.Add("Name", typeof(string));
        table.Columns.Add("Age", typeof(int));

        table.Rows.Add(1, "John Doe", 30);
        table.Rows.Add(2, "Jane Smith", 25);
        table.Rows.Add(3, "Sam Brown", 28);

        using (var workbook = new XLWorkbook())
        {
            var worksheet = workbook.Worksheets.Add("Sheet1");
            for (int i = 1; i <= table.Columns.Count; i++)
            {
                worksheet.Cell(1, i).Value = table.Columns[i - 1].ColumnName;
            }

            for (int i = 0; i < table.Rows.Count; i++)
            {
                for (int j = 0; j < table.Columns.Count; j++)
                {
                    worksheet.Cell(i + 2, j + 1).Value = table.Rows[i][j];
                }
            }

            workbook.SaveAs("output.xlsx");
        }

        Console.WriteLine("DataTable已成功匯出到Excel文件!");
    }
}

總結

通過本教學,我們學習了如何使用ClosedXML這個強大的NuGet包來將DataTable數據匯出到Excel文件。這一過程相對簡單,但非常實用,能夠滿足多種數據匯出需求。希望這篇教學對你有所幫助!

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *