使用IRONXL

如何在 C# 中導入 Excel 文件

已更新 2024年2月20日
分享:

Microsoft Excel 是一款多功能的電子表格軟體,有助於數據組織、展示和分析。然而,以 C# 編程方式操作 Excel 可能具有挑戰性。IronXL 軟體庫可以用來在 C# 中匯入和讀取 Excel 文件。

IronXL - Excel Library

IronXL - Excel 庫

IronXL 是一個 .NET Excel 庫,優先考慮使用者的使用便利性、準確性和速度。它可幫助您高效地導入和讀取 Excel 文檔,以及創建和編輯 Excel 文件,擁有閃電般的性能。它無需 MS Office Interop 工作,這意味着即使未安裝 Excel,也可以提供讀取 Excel 文件的所有功能。這使得 IronXL 成為開發人員在 C# 中導入和讀取 Excel 文件的強大工具。

IronXL 可用於所有平台,如 Windows、Linux、MacOS、Docker、Azure 和 AWS。它與所有 .NET 框架兼容。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.DataSetSystem.Data.DataTable對象。
  • Excel文件 公式 每次編輯工作表時都會重新計算。
  • 使用 WorkSheet 進行直觀的儲存格範圍設定 ["A1:B10"]簡易語法。
  • 排序單元格範圍、欄和行。
  • 樣式單元格 - 字體、字體大小、背景顏色。 邊框, 對齊編號格式.

如何在C#中導入Excel工作簿?

先決條件

要在 C# 中使用 IronXL 讀取 Excel 文件,請確保計算機上安裝了以下組件:

  1. Visual Studio - 它是開發 C# .NET 應用程序的官方 IDE。您可以從中下載並安裝 Visual Studio。 Microsoft 網站.

  2. IronXL - 它是幫助在 C# 中處理給定路徑的 Excel 工作表的函式庫。在使用之前,必須先在 C# 程式中安裝它。IronXL 可以從 NuGet網站 或在 Visual Studio 工具中管理 NuGet 套件。您也可以下載 .NET Excel DLL 直接檔案。

添加必要的命名空間

一旦安裝了 Visual Studio 和 IronXL,請引用 IronXL 程式集以便在源代碼中使用 IronXL。 在新專案中使用 IronXL 函數的檔案頂部添加以下代碼行:

using IronXL;  
using IronXL;  
Imports IronXL
VB   C#

在 C# 中打開現有的 Excel 文件

微軟 Excel 試算表也被稱為 Excel 工作簿。每個工作簿包含多個工作表,單個工作表包含具有其值的表格單元格。 打開並讀取 Excel 文件,應該使用 加載 Workbook 類別和 載入 在 IronXL 庫中存在的方法。代碼如下:

//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")
VB   C#

這將在工作簿實例引用變量中打開Excel文件。由於它可以包含多個工作表,因此它可以用來打開特定的工作表或一次打開所有工作表。以下代碼在工作表實例變量中打開第一個工作表:

WorkSheet sheet = workbook.WorkSheets.First();  
WorkSheet sheet = workbook.WorkSheets.First();  
Dim sheet As WorkSheet = workbook.WorkSheets.First()
VB   C#

這將打開 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)
VB   C#

輸出如下:

如何在C#中匯入Excel文件,圖2:讀取Excel

讀取 Excel

現在,讓我們從打開的 Excel 文件中的一範圍儲存格讀取數據。代碼如下:

// Read from Range of cells elegantly.
foreach (var cell in sheet ["A2:A6"]) {
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}  
// Read from Range of cells elegantly.
foreach (var cell in sheet ["A2:A6"]) {
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}  
' Read from Range of cells elegantly.
For Each cell In sheet ("A2:A6")
	Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
VB   C#

這段程式碼非常簡單、乾淨且清晰。可以使用簡單的語法在 foreach 迴圈中引用單元格範圍:`sheet ["A2:A6"]每個儲存格可以使用 for 迴圈來迭代以獲取其值。這裡,你將會在控制台輸出中看到來自第 2 行到第 6 行 A 列的名稱:

如何在 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
VB   C#

輸出文件

如何在 C# 中匯入 Excel 檔案,圖 4:讀取 Excel 檔案的輸出控制台

用於讀取 Excel 檔案的輸出控制台

添加圖片替代文字。

概要

本文展示了如何在未安裝任何 Microsoft Excel 的情況下,在 C# 中導入和讀取 Excel 文件。然後考慮了多種讀取 Excel 試算表數據的方法。IronXL 也幫助在 C# 中創建 Excel 文件,而無需安裝任何 Excel。

IronXL 提供了一個全方位的解決方案,允許以程式化方式執行與 Microsoft Excel 文件相關的所有任務。你可以執行公式計算、字符串或數字排序、修剪和追加、查找和替換、合併和取消合併、保存文件等操作。你可以編輯單元格值,並設置單元格數據格式,還可以驗證試算表數據。它還支持 CSV 文件,幫助你像使用 Excel 數據一樣工作。

IronXL 可免費試用並且可以 授權 供商業用途使用,其 Lite 套件起價僅 $749。

< 上一頁
如何在 C# 中將 Datatable 導出到 CSV
下一個 >
如何在 C# 中將資料集轉換爲 CSV

準備開始了嗎? 版本: 2024.9 剛剛發布

免費 NuGet 下載 總下載次數: 1,013,614 查看許可證 >