使用 IRONXL 如何從 CSV 文件讀取數據並將其存儲到數據庫 C# 中 Jordi Bardia 更新:7月 28, 2025 下載 IronXL NuGet 下載 DLL 下載 開始免費試用 法學碩士副本 法學碩士副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在雙子座打開 請向 Gemini 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 在當今的數位世界中,高效處理資料是一項重要的任務。 軟體開發中一個常見的需求是從 CSV 檔案中讀取資料並將其儲存在資料庫中。 本教學介紹如何使用 C# 從 CSV 檔案讀取資料並將其儲存在 SQL Server 資料庫中,特別是使用IronXL 庫。 本指南專為初學者設計,將以簡單易懂、引人入勝的方式進行講解。 瞭解基礎知識 什麼是CSV檔案? CSV(逗號分隔值)文件是一種純文字文件,其中包含以逗號分隔的資料。 由於其簡單易用且與各種應用程式(如 Excel)相容,因此是一種流行的資料傳輸格式。 SQL Server 與資料庫的作用 SQL Server是微軟公司的資料庫管理系統。 它用於以結構化的方式儲存和管理資料。 在本例中,我們將把 CSV 資料儲存在 SQL Server 表中。 IronXL 簡介 IronXL 是一個專為 .NET 應用程式定制的 Excel 庫,旨在幫助開發人員無需 Microsoft Office Interop 即可讀取、生成和編輯 Excel 文件。此函式庫的突出特點在於其與各種 .NET 版本和平台(包括 .NET Core、.NET Standard 和 .NET Framework)的兼容性,以及對 Windows、Linux 和 macOS 等不同作業系統的支援。 這是一個功能強大的資料導入庫,尤其適用於處理 CSV 檔案。 如何在 C# 中讀取和儲存 CSV 檔案中的數據 在 Visual Studio 中建立一個 C# 控制台程式。 使用 NuGet 套件管理器安裝 CSV 庫。 使用庫將 CSV 檔案載入到程式中。 建立與資料庫的連線。 使用庫讀取 CSV 檔案中的內容。 使用SqlBulkCopy方法將該內容複製到資料庫中。 以下是一個範例程式碼片段: using System; using System.Data; using System.Data.SqlClient; using System.Globalization; using System.IO; using CsvHelper; namespace CsvReader { class Program { static void Main(string[] args) { string csvPath = @"path\to\your\csv\file.csv"; using (var reader = new StreamReader(csvPath)) using (var csv = new CsvReader(reader, CultureInfo.InvariantCulture)) { // Mapping the CSV data to the corresponding model var records = csv.GetRecords<YourModel>(); using (var sqlBulkCopy = new SqlBulkCopy("your_connection_string")) { sqlBulkCopy.DestinationTableName = "YourTableName"; sqlBulkCopy.WriteToServer(records.AsDataReader()); } Console.WriteLine("Data imported successfully!"); } } } // Define your model that maps to the CSV columns public class YourModel { // Define properties here representing the CSV columns } } using System; using System.Data; using System.Data.SqlClient; using System.Globalization; using System.IO; using CsvHelper; namespace CsvReader { class Program { static void Main(string[] args) { string csvPath = @"path\to\your\csv\file.csv"; using (var reader = new StreamReader(csvPath)) using (var csv = new CsvReader(reader, CultureInfo.InvariantCulture)) { // Mapping the CSV data to the corresponding model var records = csv.GetRecords<YourModel>(); using (var sqlBulkCopy = new SqlBulkCopy("your_connection_string")) { sqlBulkCopy.DestinationTableName = "YourTableName"; sqlBulkCopy.WriteToServer(records.AsDataReader()); } Console.WriteLine("Data imported successfully!"); } } } // Define your model that maps to the CSV columns public class YourModel { // Define properties here representing the CSV columns } } Imports System Imports System.Data Imports System.Data.SqlClient Imports System.Globalization Imports System.IO Imports CsvHelper Namespace CsvReader Friend Class Program Shared Sub Main(ByVal args() As String) Dim csvPath As String = "path\to\your\csv\file.csv" Using reader = New StreamReader(csvPath) Using csv = New CsvReader(reader, CultureInfo.InvariantCulture) ' Mapping the CSV data to the corresponding model Dim records = csv.GetRecords(Of YourModel)() Using sqlBulkCopy As New SqlBulkCopy("your_connection_string") sqlBulkCopy.DestinationTableName = "YourTableName" sqlBulkCopy.WriteToServer(records.AsDataReader()) End Using Console.WriteLine("Data imported successfully!") End Using End Using End Sub End Class ' Define your model that maps to the CSV columns Public Class YourModel ' Define properties here representing the CSV columns End Class End Namespace $vbLabelText $csharpLabel 請確保將"path\to\your\csv\file.csv"替換為您的 CSV 檔案的實際路徑,將YourModel替換為表示您的 CSV 資料的模型,將"your_connection_string"替換為您的資料庫連接字串,並將"YourTableName"替換為您的資料庫表的名稱。 設定環境 先決條件 Visual Studio :請確保您已安裝 Visual Studio。 SQL Server :您應該已安裝並可存取 SQL Server。 IronXL 安裝:執行以下 NuGet 指令安裝 IronXL: dotnet add package IronXL 請確保在要安裝 IronXL 的專案目錄中執行這些命令。 建立 SQL Server 表 在匯入資料之前,請在 SQL Server 資料庫中建立目標表。 此表將儲存 CSV 資料。 CREATE TABLE YourTableName ( Column1 DataType, Column2 DataType, ... ); 請將YourTableName 、 Column1 、 Column2和DataType替換為您的特定資訊。 逐步指南:如何匯入 CSV 數據 首先,請確保您有一個包含要匯入的資料的 CSV 檔案。 在 Visual Studio 中建立一個新的 C# 控制台應用程式專案。 安裝 CsvHelper NuGet 套件以讀取 CSV 檔案。 您可以透過在 Visual Studio 中開啟 NuGet 套件管理器控制台並執行以下命令來完成此操作: Install-Package CsvHelper Install-Package CsvHelper SHELL 在 C# 程式碼檔案的頂部加入必要的 using 語句: using System; using System.IO; using System.Globalization; using CsvHelper; using System.Data.SqlClient; using System; using System.IO; using System.Globalization; using CsvHelper; using System.Data.SqlClient; Imports System Imports System.IO Imports System.Globalization Imports CsvHelper Imports System.Data.SqlClient $vbLabelText $csharpLabel 在程式碼中,指定 CSV 檔案的路徑。例如: string csvFilePath = @"C:\path\to\your\csv\file.csv"; string csvFilePath = @"C:\path\to\your\csv\file.csv"; Dim csvFilePath As String = "C:\path\to\your\csv\file.csv" $vbLabelText $csharpLabel 請務必將C:\path\to\your\csv\file.csv的實際路徑。 建立StreamReader類別的新實例來讀取 CSV 檔案: using (var reader = new StreamReader(csvFilePath)) { // code goes here } using (var reader = new StreamReader(csvFilePath)) { // code goes here } Using reader = New StreamReader(csvFilePath) ' code goes here End Using $vbLabelText $csharpLabel 建立CsvReader類別的新實例,並將StreamReader物件傳入: using (var reader = new StreamReader(csvFilePath)) using (var csv = new CsvReader(reader, CultureInfo.InvariantCulture)) { // code goes here } using (var reader = new StreamReader(csvFilePath)) using (var csv = new CsvReader(reader, CultureInfo.InvariantCulture)) { // code goes here } Using reader = New StreamReader(csvFilePath) Using csv = New CsvReader(reader, CultureInfo.InvariantCulture) ' code goes here End Using End Using $vbLabelText $csharpLabel (可選)使用任何必要的設定配置CsvReader物件。 舉例來說 csv.Configuration.HasHeaderRecord = true; csv.Configuration.HasHeaderRecord = true; csv.Configuration.HasHeaderRecord = True $vbLabelText $csharpLabel 使用GetRecords<T> () CsvReader物件的GetRecords<T> ()方法,用於將 CSV 資料讀取到物件集合中。 代替<T>使用代表 CSV 檔案中每筆記錄的物件類型。例如: var records = csv.GetRecords<YourModel>(); var records = csv.GetRecords<YourModel>(); Dim records = csv.GetRecords(Of YourModel)() $vbLabelText $csharpLabel 請務必將YourModel替換為您的模型類別的實際名稱。 遍歷記錄並執行任何必要的處理或驗證: foreach (var record in records) { // Process each record as needed } foreach (var record in records) { // Process each record as needed } For Each record In records ' Process each record as needed Next record $vbLabelText $csharpLabel (選用)使用 ADO.NET 或 ORM 工具(如 Entity Framework)建立與 SQL Server 資料庫的連線。 使用您選擇的資料庫存取機制將每筆記錄插入資料庫。 例如,如果您使用的是 ADO.NET,則可以利用SqlBulkCopy類別來有效地批次插入資料。 處理匯入過程中可能出現的任何異常情況,並提供適當的錯誤訊息或日誌記錄。 執行應用程式並驗證 CSV 資料是否已成功匯入資料庫,以此測試應用程式。 就是這樣! 您已成功使用 C# 將 CSV 資料匯入 SQL Server 資料庫。 步驟 1:讀取 CSV 文件 開始從 CSV 檔案匯入資料時,第一個關鍵步驟是準確讀取其中的資料。 CSV 檔案中的每一行通常代表一筆資料記錄,每筆記錄由一個或多個欄位組成,欄位之間以逗號分隔。 接下來,我們使用 IronXL 庫來處理 CSV 檔案。要使用 IronXL 讀取 CSV 文件,您需要使用它的WorkBook和WorkSheet類別。 WorkBook類別代表整個電子表格,它可以是 Excel 文件,也可以是本範例中的 CSV 檔案。將 CSV 檔案路徑載入WorkBook物件時,IronXL 會將該 CSV 檔案視為電子表格/資料表。 using IronXL; using System.Data; public class CSVReader { // Reads a CSV file and converts it to a DataTable public DataTable ReadCSV(string filePath) { WorkBook workbook = WorkBook.Load(filePath); WorkSheet sheet = workbook.DefaultWorkSheet; // Convert to DataTable for easier processing DataTable dataTable = sheet.ToDataTable(true); // Set to 'true' if your CSV has a header row return dataTable; } } using IronXL; using System.Data; public class CSVReader { // Reads a CSV file and converts it to a DataTable public DataTable ReadCSV(string filePath) { WorkBook workbook = WorkBook.Load(filePath); WorkSheet sheet = workbook.DefaultWorkSheet; // Convert to DataTable for easier processing DataTable dataTable = sheet.ToDataTable(true); // Set to 'true' if your CSV has a header row return dataTable; } } Imports IronXL Imports System.Data Public Class CSVReader ' Reads a CSV file and converts it to a DataTable Public Function ReadCSV(ByVal filePath As String) As DataTable Dim workbook As WorkBook = WorkBook.Load(filePath) Dim sheet As WorkSheet = workbook.DefaultWorkSheet ' Convert to DataTable for easier processing Dim dataTable As DataTable = sheet.ToDataTable(True) ' Set to 'true' if your CSV has a header row Return dataTable End Function End Class $vbLabelText $csharpLabel 步驟 2:建立資料庫連接 建立與 SQL Server 資料庫的連線是儲存 CSV 資料過程中的基本步驟。 此步驟涉及在您的應用程式和資料庫伺服器之間建立通訊鏈路。 連接成功至關重要,因為如果沒有連接,就無法將資料傳輸到資料庫。 本步驟重點介紹如何使用 C# 中的連接字串建立和開啟連線。 連接字串是至關重要的組成部分,因為它包含了建立連接所需的資訊。 它就像一把鑰匙,可以打開資料庫的大門。 using System.Data.SqlClient; public class DatabaseConnector { // Connection string to connect to the database private string connectionString = "your_connection_string_here"; public SqlConnection ConnectToDatabase() { SqlConnection connection = new SqlConnection(connectionString); connection.Open(); return connection; } } using System.Data.SqlClient; public class DatabaseConnector { // Connection string to connect to the database private string connectionString = "your_connection_string_here"; public SqlConnection ConnectToDatabase() { SqlConnection connection = new SqlConnection(connectionString); connection.Open(); return connection; } } Imports System.Data.SqlClient Public Class DatabaseConnector ' Connection string to connect to the database Private connectionString As String = "your_connection_string_here" Public Function ConnectToDatabase() As SqlConnection Dim connection As New SqlConnection(connectionString) connection.Open() Return connection End Function End Class $vbLabelText $csharpLabel connectionString變數包含連接到 SQL Server 所需的所有詳細資訊。 它通常包括伺服器名稱、資料庫名稱、使用者 ID 和密碼。 一個連線字串範例如下所示: Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword; 。 務必將這些佔位符替換為您的實際伺服器詳細資訊。 步驟三:將資料儲存到資料庫中 與 SQL Server 資料庫建立連線後,下一個關鍵步驟是將 CSV 資料儲存到資料庫中。 此步驟涉及將您讀取和處理的資料傳輸到 SQL Server 表中。 這是資料處理過程中至關重要的一部分,因為它涉及將資料從本機檔案實際遷移到資料庫伺服器。 在這一步驟中,我們將重點放在如何將現在儲存在DataTable中的 CSV 資料傳輸到 SQL Server 資料庫。 我們結合使用 C# 和 SQL Server 的功能來有效率地完成這項任務。 using System; using System.Data; using System.Data.SqlClient; public class DataImporter { public void ImportData(DataTable dataTable) { using (SqlConnection connection = new DatabaseConnector().ConnectToDatabase()) { // Check if the table exists and create it if it does not. string tableName = "CSVData"; // Use a valid SQL table name format string checkTable = $"IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = '{tableName}') BEGIN "; string createTable = "CREATE TABLE " + tableName + " ("; for (int i = 0; i < dataTable.Columns.Count; i++) { createTable += $"[{dataTable.Columns[i].ColumnName}] NVARCHAR(MAX)"; if (i < dataTable.Columns.Count - 1) createTable += ", "; } createTable += ") END"; SqlCommand createTableCommand = new SqlCommand(checkTable + createTable, connection); createTableCommand.ExecuteNonQuery(); // Now we use SqlBulkCopy to import the data using (SqlBulkCopy bulkCopy = new SqlBulkCopy(connection)) { bulkCopy.DestinationTableName = tableName; try { bulkCopy.WriteToServer(dataTable); Console.WriteLine("Data imported successfully!"); } catch (Exception ex) { Console.WriteLine(ex.Message); } } } } } using System; using System.Data; using System.Data.SqlClient; public class DataImporter { public void ImportData(DataTable dataTable) { using (SqlConnection connection = new DatabaseConnector().ConnectToDatabase()) { // Check if the table exists and create it if it does not. string tableName = "CSVData"; // Use a valid SQL table name format string checkTable = $"IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = '{tableName}') BEGIN "; string createTable = "CREATE TABLE " + tableName + " ("; for (int i = 0; i < dataTable.Columns.Count; i++) { createTable += $"[{dataTable.Columns[i].ColumnName}] NVARCHAR(MAX)"; if (i < dataTable.Columns.Count - 1) createTable += ", "; } createTable += ") END"; SqlCommand createTableCommand = new SqlCommand(checkTable + createTable, connection); createTableCommand.ExecuteNonQuery(); // Now we use SqlBulkCopy to import the data using (SqlBulkCopy bulkCopy = new SqlBulkCopy(connection)) { bulkCopy.DestinationTableName = tableName; try { bulkCopy.WriteToServer(dataTable); Console.WriteLine("Data imported successfully!"); } catch (Exception ex) { Console.WriteLine(ex.Message); } } } } } Imports System Imports System.Data Imports System.Data.SqlClient Public Class DataImporter Public Sub ImportData(ByVal dataTable As DataTable) Using connection As SqlConnection = (New DatabaseConnector()).ConnectToDatabase() ' Check if the table exists and create it if it does not. Dim tableName As String = "CSVData" ' Use a valid SQL table name format Dim checkTable As String = $"IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = '{tableName}') BEGIN " Dim createTable As String = "CREATE TABLE " & tableName & " (" For i As Integer = 0 To dataTable.Columns.Count - 1 createTable &= $"[{dataTable.Columns(i).ColumnName}] NVARCHAR(MAX)" If i < dataTable.Columns.Count - 1 Then createTable &= ", " End If Next i createTable &= ") END" Dim createTableCommand As New SqlCommand(checkTable & createTable, connection) createTableCommand.ExecuteNonQuery() ' Now we use SqlBulkCopy to import the data Using bulkCopy As New SqlBulkCopy(connection) bulkCopy.DestinationTableName = tableName Try bulkCopy.WriteToServer(dataTable) Console.WriteLine("Data imported successfully!") Catch ex As Exception Console.WriteLine(ex.Message) End Try End Using End Using End Sub End Class $vbLabelText $csharpLabel 它首先使用DatabaseConnector類別開啟與 SQL Server 資料庫的連接,從而確保資料事務的通道。 此方法檢查資料庫中是否存在名為"CSVData"的表。 如果找不到該表,則會建立該表。 該表的架構是根據傳遞給該方法的DataTable架構建構的,所有欄位都設定為NVARCHAR(MAX)以容納任何文字資料。 這是一種通用方法,可能需要進行改進以更精確地匹配特定資料類型。 之後,編寫並執行 SQL 命令,以驗證表是否存在或建立該表。 這樣可以確保後續的批次複製操作有一個可用於資料插入的目標表。 表格準備就緒後,可以使用SqlBulkCopy類別將資料從DataTable直接傳輸到 SQL Server 表中。 此操作專為高效能大量資料傳輸而設計,因此非常適合高效處理大量資料。 第四步:整合所有內容 在認真完成讀取 CSV 資料、建立資料庫連線和準備傳輸資料等前幾個步驟之後,我們來到了最後也是至關重要的階段:將這些單獨的元件整合到一個連貫的流程中。 此整合是在 C# 應用程式的Main方法中完成的,所有功能都整合在一起,從而能夠實際執行從 CSV 檔案到 SQL Server 資料庫的資料導入。 class Program { static void Main(string[] args) { string filePath = "path_to_your_csv_file.csv"; CSVReader reader = new CSVReader(); DataTable dataTable = reader.ReadCSV(filePath); DataImporter importer = new DataImporter(); importer.ImportData(dataTable); Console.WriteLine("Data imported successfully!"); } } class Program { static void Main(string[] args) { string filePath = "path_to_your_csv_file.csv"; CSVReader reader = new CSVReader(); DataTable dataTable = reader.ReadCSV(filePath); DataImporter importer = new DataImporter(); importer.ImportData(dataTable); Console.WriteLine("Data imported successfully!"); } } Friend Class Program Shared Sub Main(ByVal args() As String) Dim filePath As String = "path_to_your_csv_file.csv" Dim reader As New CSVReader() Dim dataTable As DataTable = reader.ReadCSV(filePath) Dim importer As New DataImporter() importer.ImportData(dataTable) Console.WriteLine("Data imported successfully!") End Sub End Class $vbLabelText $csharpLabel 將path_to_your_csv_file.csv替換為您的 CSV 檔案路徑。 專案運行 項目運行後,您將看到以下輸出。 成功訊息表示所有操作均已成功執行,資料已複製到資料庫。 Data imported successfully! 現在,您可以開啟 SQL Server Management Studio (SSMS) 並檢查資料庫下的表。 您將在表格中看到以下數據。 如何使用 C# 從 CSV 檔案讀取資料並將其儲存到資料庫中:圖 1 - 輸出資料庫 結論 本教學課程指導您如何使用 C# 從 CSV 檔案讀取資料並將其儲存在 SQL Server 資料庫中。 透過遵循這些步驟並利用 IronXL 庫,您可以有效地在 C# 應用程式中管理 CSV 資料。 IronXL 提供免費試用,用戶可以在購買前體驗其各項功能。 這個功能齊全的試用版允許潛在用戶在真實環境中測試和評估產品,而不會在生產環境中添加任何浮水印。 試用期結束後,如果您決定繼續在您的專案中使用 IronXL,則產品的授權費用從$799起。 常見問題解答 如何使用 C# 從 CSV 檔案讀取資料? 您可以使用 IronXL 函式庫以 C# 從 CSV 檔案讀取資料。IronXL 提供了 `WorkBook` 和 `WorkSheet` 類別,可讓您載入和處理 CSV 檔案,就像處理 Excel 試算表一樣。 使用 C# 在 SQL Server 資料庫中儲存 CSV 資料的步驟為何? 若要使用 C# 在 SQL Server 資料庫中儲存 CSV 資料,請先使用 IronXL 讀取 CSV,然後將資料載入 `DataTable` 並使用 `SqlBulkCopy` 將資料有效地插入 SQL Server 資料表。 如何安裝 IronXL 以在 C# 專案中使用? 您可以使用 Visual Studio 中的 NuGet Package Manager 在您的 C# 專案中安裝 IronXL。在 NuGet Package Manager 中搜尋「IronXL」,然後將其新增至您的專案。 使用 IronXL 在 C# 中處理 CSV 檔案的主要優勢是什麼? 在 C# 中使用 IronXL 處理 CSV 檔案的主要優勢在於,它能夠在 .NET 應用程式中無縫管理和處理 CSV 與 Excel 檔案,提供跨各種 .NET 版本和作業系統的相容性。 我可以使用 IronXL 處理 Excel 檔案以及 CSV 檔案嗎? 是的,IronXL.Excel 可處理 Excel 和 CSV 檔案,使其成為 .NET 應用程式中管理試算表資料的多用途工具。 如果在使用 IronXL 讀取 CSV 檔案時遇到錯誤,該怎麼辦? 如果您在使用 IronXL 讀取 CSV 檔案時遇到錯誤,請確保 CSV 檔案格式正確,且 IronXL 已正確地安裝在您的專案中。您可以參閱 IronXL 的說明文件,以獲得疑難排解的提示。 在承諾購買之前,我該如何測試 IronXL 的功能? IronXL 提供功能完整的免費試用版,讓您可以在生產環境中不受任何限制地測試及評估產品。 使用 IronXL 在資料庫中儲存 CSV 資料的先決條件是什麼? 先決條件包括安裝 Visual Studio、存取 SQL Server,以及透過 NuGet 安裝 IronXL。您也需要設定一個 SQL Server 資料表來儲存 CSV 資料。 Jordi Bardia 立即與工程團隊聊天 軟體工程師 Jordi 在 Python、C# 和 C++ 上最得心應手,當他不在 Iron Software 展現技術時,便在做遊戲編程。在分担产品测测试,产品开发和研究的责任时,Jordi 为持续的产品改进增值。他说这种多样化的经验使他受到挑战并保持参与, 而这也是他与 Iron Software 中工作一大乐趣。Jordi 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。 相關文章 發表日期 12月 19, 2025 如何使用 C# Interop 與 IronXL 在 Excel 中建立資料透視表 在無需 Office 依賴的情況下在 C# 中構建 Excel 樞紐分析表。IronXL 對無需 Excel Interop 的樞紐型報告創建提供了強大的數據操作功能。 閱讀更多 發表日期 12月 18, 2025 使用 IronXL 將 C# DataGridView 匯出到 Excel,並帶有列標題 學習如何在 C# 教程中使用 IronXL library 將 DataGridView 資料匯出為 Excel 同時保留列標題。分步教學。 閱讀更多 發表日期 12月 18, 2025 如何在 C# 中使用 IronXL 創建 Excel 生成報告 使用 IronXL 在 C# 中創建 Excel 報告生成。學習構建擁有格式化公式和數據庫集成的專業報告。 閱讀更多 如何在 C# 中將 Datagridview 導出到 Excel如何在 C# 中將 Excel 文件轉...
發表日期 12月 19, 2025 如何使用 C# Interop 與 IronXL 在 Excel 中建立資料透視表 在無需 Office 依賴的情況下在 C# 中構建 Excel 樞紐分析表。IronXL 對無需 Excel Interop 的樞紐型報告創建提供了強大的數據操作功能。 閱讀更多
發表日期 12月 18, 2025 使用 IronXL 將 C# DataGridView 匯出到 Excel,並帶有列標題 學習如何在 C# 教程中使用 IronXL library 將 DataGridView 資料匯出為 Excel 同時保留列標題。分步教學。 閱讀更多
發表日期 12月 18, 2025 如何在 C# 中使用 IronXL 創建 Excel 生成報告 使用 IronXL 在 C# 中創建 Excel 報告生成。學習構建擁有格式化公式和數據庫集成的專業報告。 閱讀更多