IronXL 操作指南 Csharp引入excel How to Import Excel Files in C# 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,我們可以不用寫很多代碼,就能輕鬆地將所需的數據直接導入到C#項目中,然後以編程方式進行操作。 快速開始:立即加載您的Excel檔案 通過使用IronXL的無超時API進行一次方法調用,您可以在幾秒鐘內加載任何支持的Excel表(XLSX,CSV等)——無需Interop,非常方便。 立即開始與工作簿名互動,按需訪問單元格、範圍或工作表。 Get started making PDFs with NuGet now: Install IronXL with NuGet Package Manager PM > Install-Package IronXL.Excel Copy and run this code snippet. WorkBook wb = IronXL.WorkBook.Load("path/to/data.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"> 導入Excel數據C# 使用IronXL Library導入數據 在C#中導入Excel數據 導入特定單元格範圍的數據 使用聚合函數SUM,AVG,MIN,MAX等導入Excel數據 class="col-sm-6"> class="download-card"> class="hsg-featured-snippet"> 最小工作流程(5步) 下載並安裝C#庫以導入Excel檔案 準備要導入的Excel檔案 使用Load方法導入試算表 使用直觀的API編輯加載的Excel檔案 以各種格式導出編輯過的Excel檔案 class="tutorial-segment-title">步驟 1 1. 使用IronXL Library導入數據 使用IronXL Excel庫提供的功能來導入數據,這是我們在本教程中將使用的。 該軟體免費提供進行開發。 Install into your C# Project via DLL Download or navigate using the NuGet package. Install-Package IronXL.Excel class="tutorial-segment-title">如何教程 2. 訪問專案的WorkSheet 為了滿足我們今天的專案需求,我們將使用在步驟1中安裝的IronXL軟件將Excel數據導入到我們的C#應用中。 在步驟2中,我們將使用IronXL的WorkBook.Load()函數在我們的CSharp專案中加載我們的Excel WorkBook。 在此函數中,我們將Excel WorkBook的路徑作為字串參數傳遞,如下所示: // Load Excel file WorkBook wb = WorkBook.Load("Path"); // Load Excel file WorkBook wb = WorkBook.Load("Path"); ' Load Excel file Dim wb As WorkBook = WorkBook.Load("Path") $vbLabelText $csharpLabel 指定路徑上的Excel檔案將載入到wb中。 接下來,我們需要訪問Excel檔案的特定工作表,其數據將導入到專案中。 為此目的,我們可以使用IronXL的GetWorkSheet()函數,將工作簿的工作表名稱作為字串參數傳遞,以指定要導入的工作簿中的哪個工作表。 // Specify sheet name of Excel WorkBook WorkSheet ws = wb.GetWorkSheet("SheetName"); // Specify sheet name of Excel WorkBook WorkSheet ws = wb.GetWorkSheet("SheetName"); ' Specify sheet name of Excel WorkBook Dim ws As WorkSheet = wb.GetWorkSheet("SheetName") $vbLabelText $csharpLabel 工作表將導入為ws,而wb是我們在上面的代碼範例中定義的工作簿。 還有以下幾種替代方法可以將Excel工作表導入到專案中。 // Import WorkSheet by various methods // by sheet indexing WorkSheet mySheet = wb.WorkSheets[SheetIndex]; // get default WorkSheet WorkSheet defaultSheet = wb.DefaultWorkSheet; // get first WorkSheet WorkSheet firstSheet = wb.WorkSheets.First(); // for the first or default sheet WorkSheet firstOrDefaultSheet = wb.WorkSheets.FirstOrDefault(); // Import WorkSheet by various methods // by sheet indexing WorkSheet mySheet = wb.WorkSheets[SheetIndex]; // get default WorkSheet WorkSheet defaultSheet = wb.DefaultWorkSheet; // get first WorkSheet WorkSheet firstSheet = wb.WorkSheets.First(); // for the first or default sheet WorkSheet firstOrDefaultSheet = wb.WorkSheets.FirstOrDefault(); ' Import WorkSheet by various methods ' by sheet indexing Dim mySheet As WorkSheet = wb.WorkSheets(SheetIndex) ' get default WorkSheet Dim defaultSheet As WorkSheet = wb.DefaultWorkSheet ' get first WorkSheet Dim firstSheet As WorkSheet = wb.WorkSheets.First() ' for the first or default sheet Dim firstOrDefaultSheet As WorkSheet = wb.WorkSheets.FirstOrDefault() $vbLabelText $csharpLabel 現在,我們可以輕鬆地從指定的Excel檔案中導入任何類型的數據。 讓我們來看看在專案中使用的所有可能的方面來導入Excel檔案數據。 3. 在C#中導入Excel數據 這是將Excel檔案數據導入專案的基本方面。 為此,我們可以使用單元格尋址系統來指定我們需要導入的單元格數據。 它將返回Excel檔案中特定單元格地址的值。 var cellValue = ws["Cell Address"]; var cellValue = ws["Cell Address"]; Dim cellValue = ws("Cell Address") $vbLabelText $csharpLabel 我們還可以通過使用行和列索引從Excel檔案中導入單元格數據。 這行代碼將返回指定行和列索引的值。 var cellValueByIndex = ws.Rows[RowIndex].Columns[ColumnIndex]; var cellValueByIndex = ws.Rows[RowIndex].Columns[ColumnIndex]; Dim cellValueByIndex = ws.Rows(RowIndex).Columns(ColumnIndex) $vbLabelText $csharpLabel 如果我們想將導入的單元格值分配給變量,我們可以使用這段代碼。 // Import Data by Cell Address // by cell addressing string val = ws["Cell Address"].ToString(); // by row and column indexing string valWithIndexing = ws.Rows[RowIndex].Columns[ColumnIndex].Value.ToString(); // Import Data by Cell Address // by cell addressing string val = ws["Cell Address"].ToString(); // by row and column indexing string valWithIndexing = ws.Rows[RowIndex].Columns[ColumnIndex].Value.ToString(); ' Import Data by Cell Address ' by cell addressing Dim val As String = ws("Cell Address").ToString() ' by row and column indexing Dim valWithIndexing As String = ws.Rows(RowIndex).Columns(ColumnIndex).Value.ToString() $vbLabelText $csharpLabel 在上面的例子中,行和列索引從0開始。 4. 導入特定範圍的Excel數據 如果我們想從Excel WorkBook中導入特定範圍的數據,可以使用range函數輕鬆完成。 要定義範圍,我們需要描述起始和結束單元格地址。 這樣,它將返回指定範圍內的所有單元格值。 var rangeData = ws["Starting Cell Address:Ending Cell Address"]; var rangeData = ws["Starting Cell Address:Ending Cell Address"]; Dim rangeData = ws("Starting Cell Address:Ending Cell Address") $vbLabelText $csharpLabel 有關在Excel檔案中處理範圍的更多信息,請查看提供的代碼示例。 :path=/static-assets/excel/content-code-examples/how-to/csharp-import-excel-import.cs using IronXL; using System; // Import Excel WorkBook WorkBook wb = WorkBook.Load("sample.xlsx"); // Specify WorkSheet WorkSheet ws = wb.GetWorkSheet("Sheet1"); // Import data of specific cell string val = ws["A4"].Value.ToString(); Console.WriteLine("Import Value of A4 Cell address: {0}", val); Console.WriteLine("import Values in Range From B3 To B9 :\n"); // Import data in specific range foreach (var item in ws["B3:B9"]) { Console.WriteLine(item.Value.ToString()); } Console.ReadKey(); IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 上述代碼顯示了以下輸出: class="center-image-wrapper"> Excel檔案sample.xlsx的值為: class="center-image-wrapper"> 5. 通過聚合函數導入Excel數據 我們還可以對Excel文件應用聚合函數,並從這些聚合函數中導入結果數據。 以下是一些不同函數的示例及其使用方法。 Sum() // To find the sum of a specific cell range var sum = ws["Starting Cell Address:Ending Cell Address"].Sum(); // To find the sum of a specific cell range var sum = ws["Starting Cell Address:Ending Cell Address"].Sum(); ' To find the sum of a specific cell range Dim sum = ws("Starting Cell Address:Ending Cell Address").Sum() $vbLabelText $csharpLabel Average() // To find the average of a specific cell range var average = ws["Starting Cell Address:Ending Cell Address"].Avg(); // To find the average of a specific cell range var average = ws["Starting Cell Address:Ending Cell Address"].Avg(); ' To find the average of a specific cell range Dim average = ws("Starting Cell Address:Ending Cell Address").Avg() $vbLabelText $csharpLabel Min() // To find the minimum in a specific cell range var minimum = ws["Starting Cell Address:Ending Cell Address"].Min(); // To find the minimum in a specific cell range var minimum = ws["Starting Cell Address:Ending Cell Address"].Min(); ' To find the minimum in a specific cell range Dim minimum = ws("Starting Cell Address:Ending Cell Address").Min() $vbLabelText $csharpLabel Max() // To find the maximum in a specific cell range var maximum = ws["Starting Cell Address:Ending Cell Address"].Max(); // To find the maximum in a specific cell range var maximum = ws["Starting Cell Address:Ending Cell Address"].Max(); ' To find the maximum in a specific cell range Dim maximum = ws("Starting Cell Address:Ending Cell Address").Max() $vbLabelText $csharpLabel 您可以閱讀更多有關在C#中使用Excel的聚合函數,並了解有關以不同方式提取數據的更多信息。 讓我們看看一個應用這些函數來導入Excel檔案數據的示例。 :path=/static-assets/excel/content-code-examples/how-to/csharp-import-excel-math-functions.cs using IronXL; using System; // Import Excel file WorkBook wb = WorkBook.Load("sample.xlsx"); // Specify WorkSheet WorkSheet ws = wb.GetWorkSheet("Sheet1"); // Import Excel file data by applying aggregate functions decimal sum = ws["D2:D9"].Sum(); decimal avg = ws["D2:D9"].Avg(); decimal min = ws["D2:D9"].Min(); decimal max = ws["D2:D9"].Max(); Console.WriteLine("Sum From D2 To D9: {0}", sum); Console.WriteLine("Avg From D2 To D9: {0}", avg); Console.WriteLine("Min From D2 To D9: {0}", min); Console.WriteLine("Max From D2 To D9: {0}", max); Console.ReadKey(); IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 上面的代碼給出了這個輸出: class="center-image-wrapper"> 而我們的檔案sample.xlsx將有以下值: class="center-image-wrapper"> 6. 將完整的Excel數據導入 如果我們想要將整個Excel檔案數據導入到C#項目中,我們可以先將加載的WorkBook解析為DataSet。 這樣,整個Excel數據將被導入到DataSet中,而Excel文件上的工作表將成為該DataSet中的DataTable。 這裡是其運行方式: // Import WorkBook into DataSet DataSet ds = wb.ToDataSet(); // Import WorkBook into DataSet DataSet ds = wb.ToDataSet(); ' Import WorkBook into DataSet Dim ds As DataSet = wb.ToDataSet() $vbLabelText $csharpLabel 這樣,我們指定的工作表將被導入到一個DataSet中,我們可以根據我們的要求使用。 通常,Excel文件的第一列用作ColumnName。 在這種情況下,我們需要將第一列設為DataTable的ColumnName。 為此,我們設置IronXL中ToDataSet()函數的布爾參數,如下所示: // Import WorkBook into DataSet with first row as ColumnNames DataSet ds = wb.ToDataSet(true); // Import WorkBook into DataSet with first row as ColumnNames DataSet ds = wb.ToDataSet(true); ' Import WorkBook into DataSet with first row as ColumnNames Dim ds As DataSet = wb.ToDataSet(True) $vbLabelText $csharpLabel 這將使Excel文件的第一列作為DataTable的ColumnName。 讓我們看看如何將Excel數據導入到DataSet中並將Excel工作表的第一列作為DataTable的ColumnName的完整示例: :path=/static-assets/excel/content-code-examples/how-to/csharp-import-excel-dataset.cs using IronXL; using System; using System.Data; WorkBook wb = WorkBook.Load("sample.xlsx"); WorkSheet ws = wb.GetWorkSheet("Sheet1"); // Import Excel data into a DataSet DataSet ds = wb.ToDataSet(true); Console.WriteLine("Excel file data imported to dataset successfully."); Console.ReadKey(); IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 處理Excel DataSet和DataTable函數可能會很複雜,但我們有更多可供使用您C#項目的文件數據的示例。 class="tutorial-segment-title">庫快速訪問 class="tutorial-section"> class="row"> class="col-sm-8"> 探索IronXL參考 了解更多有關通過單元格、範圍、數據集和數據表提取Excel數據的信息,請參閱我們的完整文檔API參考中對IronXl的內容。 探索IronXL參考 class="col-sm-4"> class="tutorial-image"> 庫快速訪問" class="img-responsive add-shadow img-responsive img-popup" src="/img/svgs/documentation.svg" loading="lazy"> 常見問題解答 如何在C#中匯入Excel文件而不使用Interop? 您可以使用IronXL在C#中匯入Excel文件而不使用Interop。只需使用WorkBook.Load()方法加載您的文件,並通過GetWorkSheet()等各種功能訪問數據。 如何在C#項目中安裝IronXL庫? 通過在包管理器控制台中執行命令Install-Package IronXL.Excel,或直接從IronXL網站下載DLL來安裝IronXL。 IronXL中有哪些方法可用於訪問特定工作表? 您可以使用GetWorkSheet()方法在IronXL中通過提供工作表名稱作為參數來訪問特定的工作表。 如何在C#中從特定的單元格範圍導入數據? 使用IronXL,您可以通過在範圍函數中定義開始和結束單元格地址來從特定的單元格範圍導入數據,從而允許精確的數據操作。 使用IronXL處理Excel數據管理有什麼好處? IronXL在Excel數據管理中提供了靈活性,具有通過單元格、範圍和聚合函數等導入數據的功能。它簡化了操作,無需Interop,並提供了一個強大的API以進行高級數據處理。 在匯入Excel數據時如何使用聚合函數? 您可以使用IronXL在匯入Excel文件的同時執行Sum、Average、Min、Max等聚合函數,增強數據分析能力。 是否可以將Excel工作表轉換為C#中的DataTables? 是的,您可以通過使用IronXL加載工作簿和利用ToDataSet()方法將Excel工作表轉換為C#中的DataTables,這有助於廣泛的數據管理。 我可以在C#中使用Excel表的第一行作為列標題嗎? IronXL允許您通過將ToDataSet()函數的布爾參數設置為true來使用Excel表的第一行作為列標題,將數據轉換為結構化DataTable。 在哪裡可以找到關於使用IronXL進行Excel操作的更多信息? 有關使用IronXL進行Excel操作的更多詳細信息,請探索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 查看許可證