如何在 C# 中匯入 Excel 文件
IronXL 使 C# 開發人員只需一行程式碼即可匯入 Excel 資料,支援 XLSX、CSV 及其他格式,無需 Interop 依賴,可立即存取儲存格、範圍及工作表以進行資料處理。
快速入門:立即載入您的 Excel 檔案
只需使用 IronXL.Excel 的無超時 API 進行一次方法呼叫,您就可以在幾秒鐘內載入任何支援的 Excel 表單 (XLSX、CSV 等)--無需 Interop,無須大費周章。 立即開始與工作簿進行交互,根據需要存取儲存格、區域或工作表。
立即開始使用 NuGet 建立 PDF 檔案:
使用 NuGet 套件管理器安裝 IronXL
複製並運行這段程式碼。
WorkBook wb = IronXL.WorkBook.Load("path/to/data.xlsx");部署到您的生產環境進行測試
導入 Excel 資料 C#
- 使用 IronXL 庫導入數據
- 在 C# 中導入 Excel 數據
- 導入特定單元格區域的數據
- 匯入包含聚合函數(例如 SUM、AVG、MIN、MAX 等)的 Excel 數據
最小工作流程(5 個步驟)
- 下載並安裝用於匯入 Excel 檔案的 C# 程式庫
- 準備要匯入的Excel文件
- 使用
Load方法匯入電子表格 - 使用直觀的API編輯已加載的Excel文件
- 以多種格式導出編輯過的Excel文件
步驟 1
安裝 IronXL Library
IronXL.Excel 讓 Excel 匯入更容易。
本教學將使用 IronXL Excel 庫提供的函數匯入資料。 該軟體可免費用於開發。 IronXL 提供全面的 C# Excel API,可簡化處理 Excel 檔案的工作,無須依賴 Microsoft Office 或 Interop。 這使得它成為伺服器環境和雲端部署的理想選擇。
安裝方法
透過 DLL 下載或使用 NuGet 套件導航將其安裝到您的C# 專案中。 如需詳細的安裝指引,請參閱我們的 入門概述。
Install-Package IronXL.Excel
操作指南
在專案中存取工作表
基本 WorkBook 載入流程
針對我們今天的專案需求,我們會使用在步驟 1 中安裝的 IronXL.Excel 軟體,將 Excel 資料匯入我們的 C# 應用程式。這個函式庫支援各種 Excel 格式,並提供 載入試算表的直覺方法。
第 2 步,我們將使用 IronXL.Excel 的 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")指定路徑下的 Excel 檔案將被載入到wb中。 本方法支援 XLSX、XLS、CSV、TSV 及其他常見的試算表格式。
取得特定工作表
接下來,我們需要存取 Excel 文件中的特定工作表,該文件中的資料將匯入專案中。 為此,我們可以使用 IronXL 的GetWorkSheet()函數,將工作表名稱作為字串參數傳遞,以指定要匯入 WorkBook 中的哪個工作表。 在我們的綜合指南中瞭解更多有關管理工作表的資訊。
// 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")WorkSheet 將以 ws 的形式匯入,而 wb 則是我們在上述程式碼範例中定義的 WorkBook。
存取工作表的其他方法
將 Excel WorkSheet 匯入專案的替代方式如下。 根據您的特定使用情況,每種方法都能提供彈性:
// 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()現在,我們可以輕鬆地從指定的 Excel 文件中匯入任何類型的資料。 讓我們探索在專案中匯入 Excel 檔案資料的所有可能層面。
以 C# 匯入 Excel 資料
基本儲存格匯入方法
這是將Excel檔案資料匯入我們專案的基本步驟。 IronXL 提供多種存取儲存格資料的方式,使其能靈活運用於不同的情境。
為此,我們可以使用單元尋址系統來指定我們需要匯入哪些單元資料。 它會從 Excel 檔案回傳特定儲存格位址的值:
var cellValue = ws["Cell Address"];var cellValue = ws["Cell Address"];Dim cellValue = ws("Cell Address")使用行和列索引匯入資料
我們也可以使用行索引和列索引從 Excel 檔案匯入儲存格資料。 這行程式碼會返回指定行和列索引的值。 這種方法在以程式化方式迭代資料時尤其有用:
var cellValueByIndex = ws.Rows[RowIndex].Columns[ColumnIndex];var cellValueByIndex = ws.Rows[RowIndex].Columns[ColumnIndex];Dim cellValueByIndex = ws.Rows(RowIndex).Columns(ColumnIndex)在變數中儲存匯入值
若要將匯入的單元格值指定給變數,請使用此代碼。 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();
// for numeric values
decimal numericValue = ws["B2"].DecimalValue;
// for date values
DateTime dateValue = ws["C2"].DateTimeValue;// 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();
// for numeric values
decimal numericValue = ws["B2"].DecimalValue;
// for date values
DateTime dateValue = ws["C2"].DateTimeValue;IRON VB CONVERTER ERROR developers@ironsoftware.com在上述範例中,行和列的索引從 0 開始。如需更進階的儲存格操作,請參閱我們的 清除儲存格 和 複製儲存格 指南。
從特定範圍匯入資料
範圍函數語法
To import data in a specific range from an Excel WorkBook, use the range function. 透過描述開始和結束的儲存格位址來定義範圍。 這會返回指定範圍內的所有儲存格值。 如需全面的範圍選擇技巧,請參閱我們的選擇範圍指南。
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")完整的範圍匯入範例
如需更多關於在 Excel 檔案中處理範圍的資訊,並學習更多關於以不同方法拉取資料的資訊。 以下範例示範匯入個別儲存格值和範圍:
:path=/static-assets/excel/content-code-examples/how-to/csharp-import-excel-import.csusing 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上述程式碼顯示以下輸出:
With the values of Excel file sample.xlsx as:
使用聚合函數匯入 Excel 資料
可用的聚合函數
在 Excel 檔案中套用聚合函數,並匯入這些函數所產生的資料。 IronXL 提供內建的數學函數,讓資料分析變得簡單直接。 以下是不同功能及其用法的範例:
<編碼>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
同時使用多個聚合函數
閱讀更多關於在 Excel for C# 中使用聚合函數工作的資訊,並學習更多關於以不同方法拉取資料的資訊。 這些功能對於產生摘要統計或驗證匯入的資料特別有用。
請參閱應用這些功能匯入 Excel 檔案資料的範例:
:path=/static-assets/excel/content-code-examples/how-to/csharp-import-excel-math-functions.csusing 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上述程式碼輸出如下:
而我們的檔案 sample.xlsx 包含這些值:
匯入完整的 Excel 檔案資料
ToDataSet 方法
要將完整的 Excel 檔案資料匯入 C# 專案,首先要將載入的 WorkBook 解析為 DataSet。 這樣,完整的 Excel 資料就會匯入 DataSet,而 Excel 檔案中的工作表就會變成 DataSet 中的 DataTable。 這種方法對於資料庫操作或使用資料綁定的控制項時特別有用。 進一步瞭解以 DataSet 匯入和匯出。
// 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()這將我們指定的 WorkSheet 匯入 DataSet,以便根據需求使用。 當同時處理多張工作表,或將 Excel 資料與 ADO.NET 作業整合時,此方法尤其強大。
處理欄頭
通常,Excel 檔案的第一行可作為欄名。 在這種情況下,請將第一行做為 DataTable 的欄名。 設定 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)這使得 Excel 檔案的第一行成為 DataTable 列名,這對於在處理結構化 Excel 資料時維持資料結構的完整性至關重要。
完整的資料集匯入範例
查看將 Excel 資料匯入 DataSet 並使用 Excel WorkSheet 的第一行作為 DataTable 列名的完整範例:
:path=/static-assets/excel/content-code-examples/how-to/csharp-import-excel-dataset.csusing 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使用 Excel Dataset 和 DataTable 函式可能會很複雜,但我們有更多可用的範例,可將檔案資料納入您的 C# 專案中。 對於進階的情況,請考慮參閱我們的指南:透過 DataTable 將 Excel 轉換為 SQL,以及從 SQL 資料庫載入 Excel。
圖書館快速訪問
常見問題解答
不使用 Microsoft Office,如何在 C# 中匯入 Excel 檔案?
您可以使用 IronXL.Excel 在 C# 中匯入 Excel 檔案,它不需要 Microsoft Office 或 Interop 依賴。只需使用 WorkBook.Load() 方法,並輸入您的檔案路徑,例如WorkBook wb = WorkBook.Load("path/to/data.xlsx").此方法適用於 XLSX、XLS、CSV、TSV 及其他格式。
使用此 C# 函式庫可以匯入哪些 Excel 檔案格式?
IronXL.Excel 支援匯入各種 Excel 格式,包括 XLSX、XLS、CSV、TSV 以及其他常見的試算表格式。相同的 WorkBook.Load() 方法可自動處理所有這些格式。
是否可以在伺服器或雲端環境中匯入 Excel 資料?
是的,IronXL 是伺服器環境和雲端部署的理想選擇,因為它不需要 Microsoft Office 或 Interop 依賴。這讓它成為 Web 應用程式、Azure 功能和其他伺服器端方案的完美選擇。
匯入 Excel 資料後,如何快速開始使用?
使用 IronXL.Excel 的免超時 API,您只需一行代碼,即可在數秒內載入任何支援的 Excel 表單。使用 WorkBook.Load() 之後,您可以立即開始與儲存格、範圍或工作表互動。
我可以從 Excel 檔案匯入特定的儲存格範圍嗎?
是的,IronXL 允許您在載入工作簿後從特定的儲存格範圍匯入資料。您可以使用提供的直觀 API 存取個別儲存格、範圍或整個工作表。
如何安裝 C# 的 Excel 匯入函式庫?
您可以透過 NuGet Package Manager 或直接下載 DLL 來安裝 IronXL。該函式庫可免費開發,並提供全面的入門說明文件。










