IronXL 操作指南 C Sharp讀取XLSX文件 C# Read XLSX File Curtis Chau 更新日期:8月 20, 2025 Download IronXL NuGet 下載 DLL 下載 Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article This article was translated from English: Does it need improvement? Translated View the article in English 當處理不同的 Excel 格式時,通常需要以編程方式讀取和操作數據。 在接下來的教程中,我們將學習如何使用便捷的工具 IronXL 從 Excel 試算表中讀取數據。 小抄:輕鬆加載工作簿和訪問工作表 使用 IronXL,您可以使用 WorkBook.Load 方法在一行中加載 XLSX 文件。然後立即訪問其第一個或指定名稱的工作表,並開始讀取單元格值 —— 快速、無阻地讀取 Excel 文件。 Get started making PDFs with NuGet now: Install IronXL with NuGet Package Manager PM > Install-Package IronXL.Excel Copy and run this code snippet. IronXL.WorkBook workbook = IronXL.WorkBook.Load("your-file.xlsx"); Deploy to test on your live environment Start using IronXL in your project today with a free trial Free 30 day Trial class="learnn-how-section"> class="row"> class="col-sm-6"> 讀取 .XLSX 文件 C# 為您的項目獲取 IronXL 加載工作簿 從工作表訪問數據 應用函數如 Sum, Min, & Max 將工作表作為 DataTable、DataSet 等讀取 class="col-sm-6"> class="download-card"> 1. 為您的項目獲取 IronXL 在您的項目中使用 IronXL 是用 C# 處理 Excel 文件格式的簡單方式。 You can either install IronXL via direct download or alternatively you can use NuGet Install for Visual Studio. 該軟體是免費供開發使用。 Install-Package IronXL.Excel class="tutorial-segment-title">如何教程 2. 加載工作簿 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 IRON VB CONVERTER ERROR [email protected] $vbLabelText $csharpLabel 在上面的代碼中,WorkBook.Load() 函數將 sample.xlsx 加載到 workBook。 可以通過訪問 Excel 文件的特定工作表對 workBook 執行任何類型的功能。 3. 訪問特定工作表 要訪問 Excel 文件的特定工作表,IronXL 提供了 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"); IRON VB CONVERTER ERROR [email protected] $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]; IRON VB CONVERTER ERROR [email protected] $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; IRON VB CONVERTER ERROR [email protected] $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(); IRON VB CONVERTER ERROR [email protected] $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(); IRON VB CONVERTER ERROR [email protected] $vbLabelText $csharpLabel 在獲取 ExcelSheet workSheet 之後,您可以從中獲取任何類型的數據並對其執行所有 Excel 功能。 4. 從工作表訪問數據 可以通過此過程從 ExcelSheet 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; IRON VB CONVERTER ERROR [email protected] $vbLabelText $csharpLabel 也可以從特定列的多個單元格中獲取數據。 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); } IRON VB CONVERTER ERROR [email protected] $vbLabelText $csharpLabel 它將顯示以下結果: class="center-image-wrapper"> 使用 Excel 文件 Sample.xlsx : class="center-image-wrapper"> 我們可以看到,使用這些方法在項目中使用 Excel 文件數據是多麼輕鬆自如。 5. 對數據執行函數 可以非常直觀地通過以下代碼對 Excel 工作表中的過濾數據應用彙總函數如 Sum, Min 或 Max。 :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 IRON VB CONVERTER ERROR [email protected] $vbLabelText $csharpLabel 如果想要更多詳情,請查看我們關於如何使用查找詳細的教程 寫入 C# 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); IRON VB CONVERTER ERROR [email protected] $vbLabelText $csharpLabel 此代碼將顯示以下輸出: class="center-image-wrapper"> 而這就是 Excel 文件 Sample.xlsx 的外觀: class="center-image-wrapper"> 6. 將 Excel 工作表讀取為 DataTable 使用 IronXL,操作 Excel 工作表作為 DataTable 十分簡單。 :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(); IRON VB CONVERTER ERROR [email protected] $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); IRON VB CONVERTER ERROR [email protected] $vbLabelText $csharpLabel 因此,ToDataTable() 的布爾參數將第一行設置為 DataTable 的列名稱。 默認情況下,該值為 False。 :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(); } IRON VB CONVERTER ERROR [email protected] $vbLabelText $csharpLabel 使用上述代碼,可以根據需要訪問並使用工作表的每個單元格值。 7. 將 Excel 文件讀取為 DataSet IronXL 提供了一個非常簡單的功能,可以將整個 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); } IRON VB CONVERTER ERROR [email protected] $vbLabelText $csharpLabel 上面代碼的輸出將如下所示: class="center-image-wrapper"> Excel 文件 Sample.xlsx 的外觀將如下所示: class="center-image-wrapper"> 在上面的例子中,我們看到可以輕鬆地將 Excel 文件解析為 DataSet 並將其與 Excel 文件的每個工作表作為 DataTable 使用。 深入了解如何將 Excel 解析為 DataSet,其中包括代碼示例。 讓我們再來看一個例子,看看如何訪問所有 ExcelSheets 的每個單元格值。 在這裡,我們可以訪問 Excel 文件的每個工作表的每個單元格值。 :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-all-excel-sheets.cs // 此代碼段不可用! IRON VB CONVERTER ERROR [email protected] $vbLabelText $csharpLabel 使用上述例子,非常方便地訪問每個工作表的每個單元格值。 有關如何在不使用 Interop 的情況下讀取 Excel 文件的更多內容,請查看此處代碼。 class="tutorial-segment-title">教程快速訪問 class="tutorial-section"> class="row"> class="col-sm-8"> IronXL 的 API 參考 在文件檔案中閱讀更多關於 IronXL 的功能、類、方法字段、命名空間和枚舉。 IronXL API 參考 class="col-sm-4"> class="tutorial-image"> 教程快速訪問" class="img-responsive add-shadow img-responsive img-popup" src="/img/svgs/documentation.svg" loading="lazy"> 常見問題解答 如何在C#中讀取不使用Interop的XLSX文件? 要在C#中不使用Interop讀取XLSX文件,您可以使用IronXL庫。安裝IronXL後,您可以使用WorkBook.Load()方法加載Excel工作簿並訪問其內容。 如何在C#中加載Excel工作簿? 您可以使用IronXL通過調用WorkBook.Load('yourfile.xlsx')在C#中加載Excel工作簿,這樣會打開指定的文件以供操作。 訪問Excel文件中的工作表有哪些方法? 在IronXL中,您可以使用名稱或索引的GetWorkSheet方法以及DefaultWorkSheet或First等屬性訪問工作表。 如何使用C#操作Excel工作表中的數據? 您可以使用IronXL在Excel工作表中通過訪問像ws['A1'].ToString()這樣的語法來獲取單元格值操作數據,用於字符串或ws['B1'].Int32Value用於整數,並應用如Sum在單元格範圍的功能。 我可以在C#中對Excel數據執行聚合操作嗎? 是的,IronXL允許在C#中對Excel數據執行聚合操作,使用Sum()、Min()和Max()這樣的方法在指定的單元格範圍上。 可否將Excel工作表轉換為DataTable? 是的,您可以在C#中使用IronXL的ToDataTable()方法將Excel工作表轉換為DataTable,並可選擇將第一行作為列名。 如何在C#中將Excel工作簿用作DataSet? 使用IronXL,通過調用ToDataSet()方法,Excel工作簿可以用作DataSet,實現全面的數據操作。 使用庫操作Excel文件在C#中的優勢是什麼? 在C#中使用IronXL進行Excel文件操作提供了簡單和高效的優勢,支持多種Excel格式,支持數據上的操作,並提供了將工作表轉換為DataTables等功能。 在哪裡可以找到更多使用IronXL的資源? 您可以在IronXL的API參考頁面上找到更多資源和文檔,其中包含關於其功能、類和方法的詳細信息。 Curtis Chau 立即與工程團隊聊天 技術作家 Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。 準備好開始了嗎? Nuget 下載 1,686,155 | 版本: 2025.11 剛剛發布 免費 NuGet 下載 總下載量:1,686,155 查看許可證