在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
在處理電子表格時,Microsoft Excel 應用程式是一款流行的電子表格工具,專為以表格格式管理大量數據而設計。 它提供強大的功能,例如複雜計算、通過圖表和圖形進行數據可視化、樞紐分析表,並支持通過應用程式用的 Visual Basic 進行自動化。(VBA). 其強大的數據分析和可視化工具使 Excel 成為各行各業中的首選。 使用 Excel,您可以輕鬆創建、編輯、查看和分享文件,從而簡化您的數據管理任務。
在 C# 中,ADO.NET 库中的 DataTable 对象表示程序中的表格数据,类似于 Excel 工作表。 它將數據組織成行和列,方便操作和導出。 就像 Excel 一樣,DataTable 支援篩選、排序和格式化選項,使其成為在 C# 中管理資料範圍的常用工具。 然而,DataTable 是在運行時創建的,當應用程式關閉時,其數據將丟失,除非導出到更永久的格式,例如 Excel 文件或 CSV 文件。
今天,我們將探討如何在 C# 中創建 DataTable,並使用 IronXL 這款強大的 .NET Excel 函式庫將其資料匯出到 Excel 文件。
IronXL是一個 C# .NET 庫,簡化了創建 Excel 文件的過程。 使用IronXL,您可以創建新的試算表,編輯現有的試算表,使用Excel公式,為試算表的單元格設置樣式,等等。 它豐富的功能使程式處理 Excel 文件變得輕而易舉,而且最重要的是,IronXL 無需 Microsoft Office Interop。這意味著不需要安裝 Microsoft Office 或任何其他特殊依賴項。
使用IronXL,您可以將數據儲存或匯出為不同格式,如XLS和XLSX、CSV數據和TSV、JSON、XML和HTML、二進位和位元組陣列。 它還具有強大的工作簿安全功能,例如添加權限和密碼,並允許您編輯工作簿的元數據。
若要在 C# 中使用 IronXL 將資料表中的數據匯出到 Excel 文件,我們需要在本地電腦上安裝以下元件。 讓我們一個一個來看看它們。
Visual Studio - Visual Studio 是用於 C# 編程的集成開發環境,且必須安裝。 您可以從下載並安裝最新版Visual Studio 網站.
一旦設置好 IDE,需要創建一個控制台應用程序/Windows 窗體,以便幫助將數據表導出到 Excel。 以下的截圖顯示如何建立一個專案。
現在,選擇您的專案類型。 在我們的範例中,我們將創建一個主控台應用程式。
為您的專案命名並選擇保存的位置。
最後,選擇您的 .NET Framework,然後點擊「建立」。
在上一個截圖中點擊創建後,名為 "DemoApp" 的項目已被創建。
IronXL 函式庫 - 必須在 Visual Studio 專案中下載並安裝 IronXL 函式庫。 有多種方法可以做到。
使用 Visual Studio - 它提供 NuGet 套件管理器來安裝 IronXL。 您可以通過工具菜單或解決方案資源管理器訪問它。 以下截圖有助於安裝IronXL。 首先,導航到頂部欄的「工具」,或在解決方案資源管理器中右鍵點擊。
進入「管理解決方案的 NuGet 套件」,然後搜尋 IronXL。 然後,您只需按下「Install」,IronXL 庫就會被添加到您的專案中。
PM > Install-Package IronXL.Excel
PM > Install-Package IronXL.Excel
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'PM > Install-Package IronXL.Excel
using IronXL; //add reference...
using System.Data;
using IronXL; //add reference...
using System.Data;
Imports IronXL 'add reference...
Imports System.Data
一旦所有的前置條件滿足後,就可以將資料從資料表匯出至 Excel 工作表。
以下程式碼創建一個新的資料表,具有兩個欄位標題和多行資料:
//new datatable dt...
DataTable dt = new DataTable();
//add column names...
dt.Columns.Add("Animal");
dt.Columns.Add("Sound");
dt.Rows.Add("Lion", "Roars"); // first row...
dt.Rows.Add("Dog", "Barks");
dt.Rows.Add("Cat", "Meows");
dt.Rows.Add("Goat", "Bleats");
dt.Rows.Add("Wolf", "Howls");
dt.Rows.Add("Cheetah", "Purrs");
//new datatable dt...
DataTable dt = new DataTable();
//add column names...
dt.Columns.Add("Animal");
dt.Columns.Add("Sound");
dt.Rows.Add("Lion", "Roars"); // first row...
dt.Rows.Add("Dog", "Barks");
dt.Rows.Add("Cat", "Meows");
dt.Rows.Add("Goat", "Bleats");
dt.Rows.Add("Wolf", "Howls");
dt.Rows.Add("Cheetah", "Purrs");
'new datatable dt...
Dim dt As New DataTable()
'add column names...
dt.Columns.Add("Animal")
dt.Columns.Add("Sound")
dt.Rows.Add("Lion", "Roars") ' first row...
dt.Rows.Add("Dog", "Barks")
dt.Rows.Add("Cat", "Meows")
dt.Rows.Add("Goat", "Bleats")
dt.Rows.Add("Wolf", "Howls")
dt.Rows.Add("Cheetah", "Purrs")
首先,我們創建一個名為 "dt" 的 DataTable。 然後,使用 Columns.Add,我們可以按名稱將指定數量的欄位添加到數據表中。在我們的範例中,我們有兩個名為「Animal」和「Sound」的欄位。 然後我們使用 Rows.Add 來添加新行,將每行的內容放置在括號內。 該內容已被逗號分隔,每個字串以列分隔。
從頭創建 Excel 檔案類型使用 IronXL 是一個兩步驟的過程,而且在 C# 中實現非常簡單。 IronXL首先創建一個Excel工作簿,然後幫助添加工作表。 以下範例代碼展示了如何創建工作簿及工作表:
//create new workbook...
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet ws = wb.DefaultWorkSheet;
//create new workbook...
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet ws = wb.DefaultWorkSheet;
'create new workbook...
Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim ws As WorkSheet = wb.DefaultWorkSheet
使用 IronXL 將值添加到工作表可以簡化整個過程,並且只需少量程式碼即可完成此任務。 在這裡,我們將學習如何從datatable匯出數據在前一部分中建立的內容添加到新建的Excel工作表中。 讓我們逐步查看這段程式碼。
ws["A1"].Value = dt.Columns[0].ToString();
ws["B1"].Value = dt.Columns[1].ToString();
int rowCount = 2;
ws["A1"].Value = dt.Columns[0].ToString();
ws["B1"].Value = dt.Columns[1].ToString();
int rowCount = 2;
ws("A1").Value = dt.Columns(0).ToString()
ws("B1").Value = dt.Columns(1).ToString()
Dim rowCount As Integer = 2
在上述代碼中,Excel工作表的欄位“A1”被賦值為資料表中索引0的第1欄,而下一個Excel欄位“B1”的值則來自資料表中索引1的第2欄。 rowCount 變數設為值 2,從資料表的第二列開始讀取行,這確保不計算標題行。
以下程式碼將從資料表中讀取每一行,並將其分配到 Excel 文件的新行中:
foreach (DataRow row in dt.Rows)
{
ws["A" + (rowCount)].Value = row[0].ToString();
ws["B" + (rowCount)].Value = row[1].ToString();
rowCount++;
}
foreach (DataRow row in dt.Rows)
{
ws["A" + (rowCount)].Value = row[0].ToString();
ws["B" + (rowCount)].Value = row[1].ToString();
rowCount++;
}
For Each row As DataRow In dt.Rows
ws("A" & (rowCount)).Value = row(0).ToString()
ws("B" & (rowCount)).Value = row(1).ToString()
rowCount += 1
Next row
每次增加rowCount變量,使系統能夠從新行進行讀取。資料表到Excel上述代碼中的工作表儲存格。
最後,使用 SaveAs 保存 Excel 文件。()** 方法。
wb.SaveAs("DataTable_to_Excel_IronXL.xlsx");
wb.SaveAs("DataTable_to_Excel_IronXL.xlsx");
wb.SaveAs("DataTable_to_Excel_IronXL.xlsx")
該文件也可以儲存為其他格式,例如 CSV。(逗號分隔值), JSON, XML.
wb.SaveAsCsv("DataTable_to_Excel_IronXL.csv");
wb.SaveAsJson("DataTable_to_Excel_IronXL.json");
wb.SaveAsXml("DataTable_to_Excel_IronXL.xml");
wb.SaveAsCsv("DataTable_to_Excel_IronXL.csv");
wb.SaveAsJson("DataTable_to_Excel_IronXL.json");
wb.SaveAsXml("DataTable_to_Excel_IronXL.xml");
wb.SaveAsCsv("DataTable_to_Excel_IronXL.csv")
wb.SaveAsJson("DataTable_to_Excel_IronXL.json")
wb.SaveAsXml("DataTable_to_Excel_IronXL.xml")
您也可以使用自訂分隔符來儲存它。
該文件的最終輸出如下所示:
在本文中,我們展示了如何在 C# 中創建帶有列和行的 DataTable,然後使用 IronXL 生成帶有默認工作表的 Excel 工作簿。 接著,我們成功將 DataTable 中的表格數據匯出到 Excel 檔案,並以 .xlsx 格式保存。
IronXL是一個使用者友好的 C# 函式庫,允許開發人員無縫地處理 Excel 文件,即使未安裝 MS Excel 也能運作。 它支持從各種格式(如 CSV 檔案)匯出數據,以便進一步操作和計算。
若要了解有關 IronXL 及其強大功能集的更多信息,請務必查看其廣泛的文檔. 想親自試試看嗎? IronXL 也提供一個免費試用全面訪問所有功能,因此您可以立即開始探索這個強大的庫如何改善您的電子表格項目。!