IronXL 操作指南 C Sharp讀取XLSX文件 C## 讀取 XLSX 檔案。 Curtis Chau 更新:2026年1月10日 下載 IronXL NuGet 下載 DLL 下載 開始免費試用 法學碩士副本 法學碩士副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在 Grok 中打開 向 Grok 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 This article was translated from English: Does it need improvement? Translated View the article in English 要在 C# 中讀取 XLSX 檔案,請使用 IronXL.Excel 的 WorkBook.Load 方法開啟 Excel 檔案,並存取工作表,以程式化的方式讀取儲存格資料、執行計算,以及轉換為 DataTable 或 DataSet 格式。 快速入門:輕鬆載入工作簿並存取工作表 使用 IronXL,您可以在一行中使用 WorkBook.Load 方法載入 XLSX 檔案。然後即時存取其第一個或命名的工作表,並開始讀取儲存格值。 立即開始使用 NuGet 建立 PDF 檔案: 使用 NuGet 套件管理器安裝 IronXL PM > Install-Package IronXL.Excel 複製並運行這段程式碼。 IronXL.WorkBook workbook = IronXL.WorkBook.Load("your-file.xlsx"); 部署到您的生產環境進行測試 立即開始在您的專案中使用 IronXL,免費試用! 免費試用30天 ## 讀取 .XLSX 檔(C#) 為您的專案選擇 IronXL 載入 WorkBook 從 WorkSheet 存取資料 應用求和、最小值和最大值等函數 將 WorkSheet 讀取為 DataTable、DataSet 等。 如何為我的專案取得 IronXL? 在您的專案中使用 IronXL,可以以簡單的方式在 C# 中處理 Excel 檔案格式。 你可以透過直接下載安裝 IronXL ,或者也可以使用NuGet Install for Visual Studio 。 該軟體可免費用於開發。 Install-Package IronXL.Excel 在深入閱讀 XLSX 檔案之前,請探索 全面的 IronXL 文件,以瞭解所有可用的功能。 IronXL 支援 .xls 和 .xlsx 兩種格式,因此可通用於傳統和現代 Excel 檔案。 操作指南 如何載入工作簿? WorkBook 是 IronXL 的類別,其物件提供對 Excel 檔案及其所有功能的完整存取。 例如,若要存取 Excel 檔案,請使用代碼: :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-load-workbook.cs using IronXL; // Load the workbook WorkBook workBook = WorkBook.Load("sample.xlsx"); // Excel file path Imports IronXL ' Load the workbook Dim workBook As WorkBook = WorkBook.Load("sample.xlsx") ' Excel file path $vbLabelText $csharpLabel 為什麼要使用 WorkBook.Load() 方法? 在上面的程式碼中, WorkBook.Load()函數將sample.xlsx載入到workBook中。 透過存取 Excel 檔案的特定 WorkSheet,可以在 workBook 上執行任何類型的功能。WorkBook.Load 方法會自動偵測檔案格式,不論是 XLS、XLSX、XLSM、XLTX 或 CSV。如需更進階的載入情境,請參閱 載入試算表的詳細指南。 如何存取特定的工作表? 要存取 Excel 檔案的特定 WorkSheet ,IronXL.Excel 提供了 WorkSheet 類。 它可以用於幾種不同的方式: 存取工作表的不同方式有哪些? :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-get-worksheet.cs using IronXL; // Access sheet by name WorkSheet workSheet = workBook.GetWorkSheet("Sheet1"); Imports IronXL ' Access sheet by name Dim workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1") $vbLabelText $csharpLabel workBook 是在上述部分中宣告的 WorkBook 。 或者 :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-worksheet-index.cs using IronXL; // Access sheet by index WorkSheet workSheet = workBook.WorkSheets[0]; Imports IronXL ' Access sheet by index Dim workSheet As WorkSheet = workBook.WorkSheets(0) $vbLabelText $csharpLabel 或者 :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-default-worksheet.cs using IronXL; // Access the default worksheet WorkSheet workSheet = workBook.DefaultWorkSheet; Imports IronXL ' Access the default worksheet Dim workSheet As WorkSheet = workBook.DefaultWorkSheet $vbLabelText $csharpLabel 或者 :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-first-worksheet.cs using IronXL; using System.Linq; // Access the first worksheet WorkSheet workSheet = workBook.WorkSheets.First(); Imports IronXL Imports System.Linq ' Access the first worksheet Dim workSheet As WorkSheet = workBook.WorkSheets.First() $vbLabelText $csharpLabel 或者 :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-first-or-default-worksheet.cs using IronXL; using System.Linq; // Access the first or default worksheet WorkSheet workSheet = workBook.WorkSheets.FirstOrDefault(); Imports IronXL Imports System.Linq ' Access the first or default worksheet Dim workSheet As WorkSheet = workBook.WorkSheets.FirstOrDefault() $vbLabelText $csharpLabel 我應該在何時使用各工作表存取方法? 每種方法都有其理想的使用個案: GetWorkSheet("name"):當您知道確切的工作表名稱時 WorkSheets[index]:用於以程式方式迭代工作表 DefaultWorkSheet:使用單一工作表檔案時的快速存取 First()或FirstOrDefault():工作表名稱可能改變時的安全選項 取得 ExcelSheet workSheet後,您可以從中取得任何類型的數據,並對其執行所有 Excel 功能。 如需更複雜的工作表操作,請參閱 以 C# 開啟 Excel 工作表的指南。 如何從工作表存取資料? 可以透過以下步驟從 Excel workSheet中存取資料: 我可以從儲存格讀取哪些資料類型? :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-get-data.cs using IronXL; // Accessing data as a string string dataString = workSheet["A1"].ToString(); // Accessing data as an integer int dataInt = workSheet["B1"].Int32Value; Imports IronXL ' Accessing data as a string Dim dataString As String = workSheet("A1").ToString() ' Accessing data as an integer Dim dataInt As Integer = workSheet("B1").Int32Value $vbLabelText $csharpLabel IronXL 為不同的資料類型提供各種值存取器: StringValue:適用於文字資料 Int32Value:用於整數 DoubleValue:用於小數 DateTimeValue:用於日期 BoolValue:用於真假值 如何一次讀取多個儲存格? 您也可以從特定列的多個儲存格取得資料: foreach (var cell in workSheet["A2:A10"]) { Console.WriteLine("Value is: {0}", cell.Text); } foreach (var cell in workSheet["A2:A10"]) { Console.WriteLine("Value is: {0}", cell.Text); } For Each cell In workSheet("A2:A10") Console.WriteLine("Value is: {0}", cell.Text) Next cell $vbLabelText $csharpLabel 這會顯示從儲存格 A2 到 A10 的值。 如需更多進階的範圍選擇技巧,請造訪 選擇範圍教學。 完整的實作是什麼樣子? 在此提供上述具體內容的完整程式碼範例: :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-log-data.cs using IronXL; using System; // Load an Excel file WorkBook workBook = WorkBook.Load("sample.xlsx"); WorkSheet workSheet = workBook.GetWorkSheet("Sheet1"); // Specify the range foreach (var cell in workSheet["B2:B10"]) { Console.WriteLine("Value is: {0}", cell.Text); } Imports IronXL Imports System ' Load an Excel file Dim workBook As WorkBook = WorkBook.Load("sample.xlsx") Dim workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1") ' Specify the range For Each cell In workSheet("B2:B10") Console.WriteLine("Value is: {0}", cell.Text) Next $vbLabelText $csharpLabel 它會顯示以下結果: 使用 Excel 檔 Sample.xlsx: 這些方法說明在專案中使用 Excel 檔案資料是多麼毫不費力。 如需在不使用 Interop 的情況下閱讀 Excel 檔案的實用範例,請探索 閱讀 Excel 範例。 如何在資料上執行函數? 使用以下程式碼,套用 Sum、Min 或 Max 等聚集函數,從 Excel WorkSheet 存取篩選過的資料: 哪些聚合功能可用? :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-aggregate-function.cs using IronXL; // Apply aggregate functions decimal sum = workSheet["G2:G10"].Sum(); // Sum of cells from G2 to G10 decimal min = workSheet["G2:G10"].Min(); // Minimum value in cells from G2 to G10 decimal max = workSheet["G2:G10"].Max(); // Maximum value in cells from G2 to G10 Imports IronXL ' Apply aggregate functions Dim sum As Decimal = workSheet("G2:G10").Sum() ' Sum of cells from G2 to G10 Dim min As Decimal = workSheet("G2:G10").Min() ' Minimum value in cells from G2 to G10 Dim max As Decimal = workSheet("G2:G10").Max() ' Maximum value in cells from G2 to G10 $vbLabelText $csharpLabel IronXL 支援多種數學函數,包括: Average():計算平均值 Count():計數非空儲存格 CountIf():計數符合條件的儲存格 Median():找出中間值 StdDev():計算標準差 如何同時實作多個函數? 如需詳細資訊,請參閱我們關於如何撰寫 C# Excel 檔案的深入教學,其中包含聚合函數的具體說明。 您也可以探索 IronXL.Excel 中可用的數學函數的完整清單。 :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-min-max.cs using IronXL; using System; // Load the Excel workbook WorkBook workBook = WorkBook.Load("sample.xlsx"); // Get the specified WorkSheet WorkSheet workSheet = workBook.GetWorkSheet("Sheet1"); // Calculate sum, minimum, and maximum for a range of cells decimal sum = workSheet["G2:G10"].Sum(); decimal min = workSheet["G2:G10"].Min(); decimal max = workSheet["G2:G10"].Max(); // Output results Console.WriteLine("Sum is: {0}", sum); Console.WriteLine("Min is: {0}", min); Console.WriteLine("Max is: {0}", max); Imports IronXL Imports System ' Load the Excel workbook Dim workBook As WorkBook = WorkBook.Load("sample.xlsx") ' Get the specified WorkSheet Dim workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1") ' Calculate sum, minimum, and maximum for a range of cells Dim sum As Decimal = workSheet("G2:G10").Sum() Dim min As Decimal = workSheet("G2:G10").Min() Dim max As Decimal = workSheet("G2:G10").Max() ' Output results Console.WriteLine("Sum is: {0}", sum) Console.WriteLine("Min is: {0}", min) Console.WriteLine("Max is: {0}", max) $vbLabelText $csharpLabel 這段程式碼會顯示以下輸出: 這就是 Excel 檔 Sample.xlsx 的外觀: 如何將 Excel WorkSheet 讀取為 DataTable? 使用 IronXL,可以輕鬆地將 Excel WorkSheet 作為 DataTable 來處理。 當您需要將 Excel 資料整合至現有的資料處理管道或將資料綁定至 UI 控制項時,此功能尤其有用。 基本的轉換方法是什麼? :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-datatable.cs using IronXL; using System.Data; // Convert worksheet to DataTable DataTable dt = workSheet.ToDataTable(); Imports IronXL Imports System.Data ' Convert worksheet to DataTable Dim dt As DataTable = workSheet.ToDataTable() $vbLabelText $csharpLabel 如何使用第一行作為欄頭? 要使用 ExcelSheet 的第一行作為 DataTable ColumnName: :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-datatable-header.cs using IronXL; using System.Data; // Convert worksheet to DataTable with the first row as column names DataTable dt = workSheet.ToDataTable(true); Imports IronXL Imports System.Data ' Convert worksheet to DataTable with the first row as column names Dim dt As DataTable = workSheet.ToDataTable(True) $vbLabelText $csharpLabel ToDataTable() 的布林參數會設定第一行為您 DataTable 的欄名。 預設值為False 。 這在處理包含標頭的結構化資料時尤其有用。 如何遍歷 DataTable? :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-print-datatable.cs using IronXL; using System; using System.Data; // Load the Excel workbook WorkBook workBook = WorkBook.Load("sample.xlsx"); // Get the specified WorkSheet WorkSheet workSheet = workBook.GetWorkSheet("Sheet1"); // Convert WorkSheet to DataTable DataTable dt = workSheet.ToDataTable(true); // Use first row as column names // Iterate through rows and columns and display data foreach (DataRow row in dt.Rows) // Access rows { for (int i = 0; i < dt.Columns.Count; i++) // Access columns of corresponding row { Console.Write(row[i] + " "); } Console.WriteLine(); } Imports IronXL Imports System Imports System.Data ' Load the Excel workbook Dim workBook As WorkBook = WorkBook.Load("sample.xlsx") ' Get the specified WorkSheet Dim workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1") ' Convert WorkSheet to DataTable Dim dt As DataTable = workSheet.ToDataTable(True) ' Use first row as column names ' Iterate through rows and columns and display data For Each row As DataRow In dt.Rows ' Access rows For i As Integer = 0 To dt.Columns.Count - 1 ' Access columns of corresponding row Console.Write(row(i) & " ") Next Console.WriteLine() Next $vbLabelText $csharpLabel 使用上述程式碼,可根據需要存取並使用 WorkSheet 的每個儲存格值。 如需更進階的 DataTable 操作,請參閱 以 DataSet 的形式匯入和匯出的指南。 如何將 Excel 檔案讀取為 DataSet? IronXL.Excel 提供了一個簡單的函式,可將完整的 Excel 檔案 (WorkBook) 用作 DataSet。 使用 ToDataSet 方法將整個工作簿轉換成 DataSet。 在這個例子中,我們將看到如何將 Excel 檔案用作資料集。 如何將工作簿轉換為 DataSet? :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-excel-to-dataset.cs using IronXL; using System; using System.Data; // Load the Excel workbook WorkBook workBook = WorkBook.Load("sample.xlsx"); // Convert the WorkBook to a DataSet DataSet ds = workBook.ToDataSet(); // Iterate through tables in the DataSet and display table names foreach (DataTable dt in ds.Tables) { Console.WriteLine(dt.TableName); } Imports IronXL Imports System Imports System.Data ' Load the Excel workbook Dim workBook As WorkBook = WorkBook.Load("sample.xlsx") ' Convert the WorkBook to a DataSet Dim ds As DataSet = workBook.ToDataSet() ' Iterate through tables in the DataSet and display table names For Each dt As DataTable In ds.Tables Console.WriteLine(dt.TableName) Next $vbLabelText $csharpLabel 上述程式碼的輸出如下: 而 Excel 檔 Sample.xlsx 看起來是這樣的: 如何在所有工作表中存取每個儲存格的值? 在上述範例中,我們可以輕鬆地將 Excel 檔案解析為 DataSet,並將 Excel 檔案中的每個 WorkSheet 作為 DataTable 來處理。 深入瞭解如何 將 Excel 解析為 DataSet 此處提供的程式碼範例。 讓我們再來看一個例子,了解如何存取所有 Excel 工作表中每個儲存格的值。 在此,我們可以存取 Excel 檔案中每個 WorkSheet 的每個儲存格值。 :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-all-excel-sheets.cs // 此代碼段不可用! ' 此代碼段不可用! $vbLabelText $csharpLabel 使用上面的範例,可以很方便地存取 Excel 檔案中每個 WorkSheet 的每個儲存格值。這種方法在處理資料分佈於不同標籤的多工作表工作簿時特別有用。 有關如何 Read Excel Files Without Interop 的更多資訊,請查看此處的程式碼。 API 參考文件在 IronXL API Reference 中提供了所有可用方法和屬性的全面詳細資訊。 教程快速存取 ### IronXL API 參考 請參閱文檔,以了解有關 IronXL 的功能、類別、方法欄位、命名空間和枚舉的更多資訊。 IronXL API 參考 常見問題解答 如何在 C# 中讀取 XLSX 檔案? 要在 C# 中讀取 XLSX 檔案,請使用 IronXL 的 WorkBook.Load 方法。只需使用 IronXL.WorkBook.Load("your-file.xlsx") 載入 Excel 檔案,然後以程式化方式存取工作表以讀取儲存格資料、執行計算,以及轉換為 DataTable 或 DataSet 格式。 載入 Excel 檔案時支援哪些檔案格式? IronXL.Excel 支援多種 Excel 檔案格式,包括 .xls、.xlsx、.xlsm、.xltx 及 .csv 檔案。WorkBook.Load 方法可自動偵測檔案格式,使其同時適用於傳統與現代 Excel 檔案。 如何為我的 C# 專案安裝 Excel 閱讀函式庫? 您可以透過直接下載或透過 Visual Studio 的 NuGet Install 安裝 IronXL。此軟體可免費用於開發目的,並提供一種簡單的方式在 C# 中處理 Excel 檔案格式。 存取特定工作表的不同方式有哪些? IronXL 提供了多種存取工作表的方式:您可以使用 workBook.GetWorkSheet("SheetName") 以名稱存取,使用 workBook.WorkSheets[0] 以索引存取,或使用 workBook.WorkSheets.First() 取得第一個工作表。 載入 Excel 資料後,可以執行計算嗎? 是的,使用 IronXL 載入 XLSX 檔案後,您可以在資料上套用 Sum、Min 和 Max 等各種函數。該函式庫透過 WorkBook 物件提供了對 Excel 檔功能的完整存取。 是否可以將 Excel 工作表資料轉換為其他格式? 是的,IronXL 允許您讀取 WorkSheet 並將其轉換為各種格式,包括 DataTable、DataSet 等。這可讓您輕鬆地將 Excel 資料整合至 C# 應用程式中。 Curtis Chau 立即與工程團隊聊天 技術撰稿人 Curtis Chau 擁有電腦科學學士學位(卡爾頓大學),專長於前端開發,精通 Node.js、TypeScript、JavaScript 和 React。Curtis 對製作直覺且美觀的使用者介面充滿熱情,他喜歡使用現代化的架構,並製作結構良好且視覺上吸引人的手冊。除了開發之外,Curtis 對物聯網 (IoT) 也有濃厚的興趣,他喜歡探索整合硬體與軟體的創新方式。在空閒時間,他喜歡玩遊戲和建立 Discord bots,將他對技術的熱愛與創意結合。 準備好開始了嗎? Nuget 下載 1,846,091 | 版本: 2026.2 剛剛發布 免費 NuGet 下載 總下載量:1,846,091 查看許可證