如何在 C# 中導入 Excel 文件
Microsoft Excel 是一款功能強大的電子表格軟體,有助於資料組織、展示和分析。 然而,在 C# 中以程式方式操作 Excel 可能具有挑戰性。 IronXL 軟體庫可用於在 C# 中匯入和讀取 Excel 檔案。
IronXL - Excel庫
IronXL是一個 .NET Excel 函式庫,它優先考慮使用者的易用性、準確性和速度。 它可以幫助您匯入和讀取 Excel 文檔,並以閃電般的速度有效地建立和編輯 Excel 文件。 它無需 MS Office Interop 即可運作。這意味著即使不安裝 Excel,它也能提供讀取 Excel 檔案的所有功能。 這使得 IronXL 成為開發人員在 C# 中匯入和讀取 Excel 檔案的強大工具。
IronXL 可在 Windows、Linux、MacOS、Docker、Azure 和 AWS 等所有平台上使用。 它與所有 .NET Framework 版本相容。 IronXL 是一個功能強大的程式庫,可整合到控制台、桌面和 Web ASP.NET 應用程式中。 它支援不同的工作簿格式,如 XLS 和 XLSX 檔案、XSLT 和 XLSM、CSV 和 TSV。
一些重要特徵
- 開啟、讀取 Excel 文件,並蒐索不同電子表格格式(如 XLS/CSV/TSV/XLSX 文件)中的資料。
- 將 Excel 工作表匯出為 XLS/XLSX/CSV/TSV/JSON 格式。
- 使用密碼對 XLSM/XLTX/XLSX 檔案進行加密和解密。
- 將 Excel 工作表匯入為
System.Data.DataSet和System.Data.DataTable物件。 - 每次編輯工作表時,Excel 檔案中的公式都會重新計算。
- 使用
WorkSheet["A1:B10"]簡單語法即可直觀地設定儲存格區域。 - 對儲存格區域、列和行進行排序。
- 儲存格樣式 - 字型、字號、背景顏色、邊框、對齊方式和編號格式。
如何在C#中匯入Excel工作簿?
先決條件
若要在 C# 中使用 IronXL 讀取 Excel 文件,請確保電腦上已安裝下列元件:
- Visual Studio - 它是用於開發 C# .NET 應用程式的官方 IDE。 您可以從微軟網站下載並安裝 Visual Studio。
- IronXL - 這是一個幫助在 C# 中處理給定路徑的 Excel 表格的庫。 必須先將其安裝到 C# 程式中才能使用。 IronXL 可以從NuGet 網站下載,也可以在 Visual Studio 工具中管理 NuGet 套件。 您也可以直接下載.NET Excel DLL檔。
添加必要的命名空間
安裝好 Visual Studio 和 IronXL 後,在原始碼中引用 IronXL 組件即可使用 IronXL。 在新專案中,將要使用 IronXL 函數的檔案頂部新增以下程式碼行:
using IronXL;using IronXL;Imports IronXL在 C# 中開啟一個現有的 Excel 文件
微軟Excel電子表格也稱為Excel工作簿。 每個工作簿包含多個工作表,每個工作表包含帶有其值的表格儲存格。 要開啟和讀取 Excel 文件,應該使用 IronXL 庫中的WorkBook類別和Load方法來載入它。 代碼如下:
// Supported Excel spreadsheet formats for reading include: XLSX, XLS, CSV, and TSV
WorkBook workbook = WorkBook.Load("test.xlsx");// Supported Excel spreadsheet formats for reading include: XLSX, XLS, CSV, and TSV
WorkBook workbook = WorkBook.Load("test.xlsx");' Supported Excel spreadsheet formats for reading include: XLSX, XLS, CSV, and TSV
Dim workbook As WorkBook = WorkBook.Load("test.xlsx")這將開啟工作簿實例引用變數中的 Excel 檔案。 由於它可以包含多個工作表,因此可以用來開啟特定的工作表,也可以一次開啟所有工作表。 以下程式碼開啟工作表實例變數中的第一個工作表:
WorkSheet sheet = workbook.WorkSheets.First();WorkSheet sheet = workbook.WorkSheets.First();Dim sheet As WorkSheet = workbook.WorkSheets.First()這將開啟 Excel 檔案中的第一個工作表,現在可以向該工作表讀取和寫入 Excel 資料。
開啟 Excel 文件
如何在 C# 中匯入 Excel 文件,圖 1:Excel 文件 Excel 檔案
從匯入的 Excel 檔案讀取數據
Excel 檔案匯入後,即可讀取資料。 使用 IronXL 在 C# 中讀取 Excel 檔案資料非常簡單且容易。 您只需指定儲存格參考編號即可讀取 Excel 儲存格值。
以下程式碼會擷取引用編號為"C2"的儲存格的值:
// Select cells easily in Excel-notation and return the value
int cellValue = sheet["C2"].IntValue;
// Display the value
Console.WriteLine(cellValue);// Select cells easily in Excel-notation and return the value
int cellValue = sheet["C2"].IntValue;
// Display the value
Console.WriteLine(cellValue);' Select cells easily in Excel-notation and return the value
Dim cellValue As Integer = sheet("C2").IntValue
' Display the value
Console.WriteLine(cellValue)輸出內容如下:
如何在 C# 中匯入 Excel 文件,圖 2:讀取 Excel 讀取 Excel
現在,讓我們從開啟的 Excel 檔案中讀取一系列儲存格的資料。程式碼如下:
// Read from a range of cells elegantly.
foreach (var cell in sheet["A2:A6"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}// Read from a range of cells elegantly.
foreach (var cell in sheet["A2:A6"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}' Read from a range of cells elegantly.
For Each cell In sheet("A2:A6")
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell程式碼非常簡潔、清晰、易懂。 可以使用簡單的語法引用單元格範圍,如foreach循環所示: sheet["A2:A6"] ,並且可以遍歷每個單元格以獲取其值。 在這裡,您將在控制台輸出中看到 A 列第 2 行到第 6 行的名稱:
如何在 C# 中匯入 Excel 文件,圖 3:讀取儲存格區域 讀取單元格範圍
有關讀取和寫入單元格值的更多詳細信息,請查看本教程:C# 中讀取 Excel 文件範例。
從 Excel 檔案匯入所有數據
IronXL 可以使用行和列索引一次讀取 Excel 工作表。 以下 IronXL 程式碼範例有助於將整個 Excel 檔案資料以相同的格式輸出到控制台:
WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();
// Traverse all rows of Excel WorkSheet
for (int i = 0; i < sheet.Rows.Count(); i++)
{
// Traverse all columns of specific Row
for (int j = 0; j < sheet.Columns.Count(); j++)
{
// Get the values
string val = sheet.Rows[i].Columns[j].Value.ToString();
Console.Write("{0}\t", val);
}
Console.WriteLine();
}WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();
// Traverse all rows of Excel WorkSheet
for (int i = 0; i < sheet.Rows.Count(); i++)
{
// Traverse all columns of specific Row
for (int j = 0; j < sheet.Columns.Count(); j++)
{
// Get the values
string val = sheet.Rows[i].Columns[j].Value.ToString();
Console.Write("{0}\t", val);
}
Console.WriteLine();
}Imports Microsoft.VisualBasic
Dim workbook As WorkBook = WorkBook.Load("test.xlsx")
Dim sheet As WorkSheet = workbook.WorkSheets.First()
' Traverse all rows of Excel WorkSheet
For i As Integer = 0 To sheet.Rows.Count() - 1
' Traverse all columns of specific Row
For j As Integer = 0 To sheet.Columns.Count() - 1
' Get the values
Dim val As String = sheet.Rows(i).Columns(j).Value.ToString()
Console.Write("{0}" & vbTab, val)
Next j
Console.WriteLine()
Next i輸出檔案
如何在 C# 中匯入 Excel 文件,圖 4:讀取 Excel 文件的輸出控制台 讀取 Excel 檔案的輸出控制台
.
概括
本文示範如何在未安裝 Microsoft Excel 的情況下,使用 C# 匯入和讀取 Excel 檔案。 然後,它考慮了從 Excel 電子表格中讀取資料的多種方法。 IronXL 還可以幫助在不安裝任何 Excel 的情況下,用 C# 建立 Excel 檔案。
IronXL 提供了一個一體化解決方案,以程式設計方式實現所有與 Microsoft Excel 文件相關的任務。 您可以執行公式計算、字串或數字排序、修剪和追加、尋找和取代、合併和取消合併、儲存檔案等操作。您可以編輯儲存格值,也可以設定儲存格資料格式以及驗證電子表格資料。 它還支援 CSV 文件,並能像處理 Excel 資料一樣處理資料。
常見問題解答
如何在不使用 Interop 的情況下在 C# 中匯入和讀取 Excel 文件?
您可以使用 IronXL 庫在 C# 中匯入和讀取 Excel 文件。只需使用 WorkBook.Load("file.xlsx") 讀取 Excel 文件,即可在無需安裝 Microsoft Excel 的情況下訪問和處理數據。
IronXL 庫與哪些平台兼容?
IronXL 與所有 .NET 框架兼容,可在多個平台上使用,包括 Windows、Linux、MacOS、Docker、Azure 和 AWS。
我可以使用 IronXL 編輯 Excel 文件而不安裝 Microsoft Excel 嗎?
可以,IronXL 允許您在 C# 中以程式化方式創建和編輯 Excel 文件,而無需在系統上安裝 Microsoft Excel。
IronXL 可以處理哪些 Excel 格式?
IronXL 支援各種 Excel 文件格式,如 XLS、XLSX、CSV、TSV 等,方便數據的匯入和操作。
在 C# 項目中使用 IronXL 有什麼先決條件?
要使用 IronXL,請確保已安裝 Visual Studio。您可以通過 NuGet 套件管理器將 IronXL 添加到您的項目中,或下載並引用 .NET Excel DLL。
如何在 C# 中使用 IronXL 加載 Excel 活頁簿?
要在 C# 中加載 Excel 活頁簿,使用 IronXL 的 WorkBook.Load("path/to/file.xlsx") 方法,可打開並操作活頁簿。
IronXL 能處理 Excel 公式嗎?
可以,IronXL 能夠在編輯工作表時無縫處理和重新計算 Excel 公式,以確保數據計算的準確性。
如何使用 IronXL 從特定單元格讀取數據?
要從特定單元格讀取數據,使用 IronXL 語法如 sheet["B2"].StringValue 從 B2 單元格獲取值。
我可以使用 IronXL 循環遍歷 Excel 表格中的一個範圍的單元格嗎?
可以,您可以使用 IronXL 循環遍歷一個範圍的單元格,語法如 foreach (var cell in sheet["A1:C3"]) 逐一處理每個單元格。
如何將 IronXL 整合到 ASP.NET 應用程序中?
IronXL 可以通過 NuGet 添加到 ASP.NET 應用程序中,並在項目中引用,從而實現 Web 應用程序中的 Excel 文件操作。









