目錄
Toggle簡介
在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文件。這一過程相對簡單,但非常實用,能夠滿足多種數據匯出需求。希望這篇教學對你有所幫助!