跳過到頁腳內容
使用 IRONXL

如何在 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.DataSetSystem.Data.DataTable物件。
  • 每次編輯工作表時,Excel 檔案中的公式都會重新計算。
  • 使用WorkSheet["A1:B10"]簡單語法即可直觀地設定儲存格區域。
  • 對儲存格區域、列和行進行排序。
  • 儲存格樣式 - 字型、字號、背景顏色、邊框、對齊方式編號格式

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

先決條件

若要在 C# 中使用 IronXL 讀取 Excel 文件,請確保電腦上已安裝下列元件:

  1. Visual Studio - 它是用於開發 C# .NET 應用程式的官方 IDE。 您可以從微軟網站下載並安裝 Visual Studio。
  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
$vbLabelText   $csharpLabel

在 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")
$vbLabelText   $csharpLabel

這將開啟工作簿實例引用變數中的 Excel 檔案。 由於它可以包含多個工作表,因此可以用來開啟特定的工作表,也可以一次開啟所有工作表。 以下程式碼開啟工作表實例變數中的第一個工作表:

WorkSheet sheet = workbook.WorkSheets.First();
WorkSheet sheet = workbook.WorkSheets.First();
Dim sheet As WorkSheet = workbook.WorkSheets.First()
$vbLabelText   $csharpLabel

這將開啟 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)
$vbLabelText   $csharpLabel

輸出內容如下:

如何在 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
$vbLabelText   $csharpLabel

程式碼非常簡潔、清晰、易懂。 可以使用簡單的語法引用單元格範圍,如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
$vbLabelText   $csharpLabel

輸出檔案

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

新增圖片替代文字。

概括

本文示範如何在未安裝 Microsoft Excel 的情況下,使用 C# 匯入和讀取 Excel 檔案。 然後,它考慮了從 Excel 電子表格中讀取資料的多種方法。 IronXL 還可以幫助在不安裝任何 Excel 的情況下,用 C# 建立 Excel 檔案。

IronXL 提供了一個一體化解決方案,以程式設計方式實現所有與 Microsoft Excel 文件相關的任務。 您可以執行公式計算、字串或數字排序、修剪和追加、尋找和取代、合併和取消合併、儲存檔案等操作。您可以編輯儲存格值,也可以設定儲存格資料格式以及驗證電子表格資料。 它還支援 CSV 文件,並能像處理 Excel 資料一樣處理資料。

IronXL提供免費試用版,商業用途的授權只需購買 Lite 套餐,價格僅為$799起。

常見問題解答

不使用 Interop,如何在 C# 中匯入和讀取 Excel 檔案?

您可以使用 IronXL library 在 C# 中匯入和讀取 Excel 檔案。只需使用 WorkBook.Load("file.xlsx") 載入 Excel 檔案,即可存取和處理資料,而無需安裝 Microsoft Excel。

IronXL 函式庫與哪些平台相容?

IronXL 與所有 .NET Framework 相容,並可在多種平台上使用,包括 Windows、Linux、MacOS、Docker、Azure 和 AWS。

我可以在沒有安裝 Microsoft Excel 的情況下使用 IronXL 編輯 Excel 檔案嗎?

是的,IronXL 可讓您以 C# 程式化的方式建立和編輯 Excel 檔案,而不需要在您的系統上安裝 Microsoft Excel。

IronXL 可以處理哪些 Excel 格式?

IronXL.Excel 支援各種 Excel 檔案格式,例如 XLS、XLSX、CSV、TSV 等,可輕鬆匯入和處理資料。

在 C# 專案中使用 IronXL 的先決條件是什麼?

要使用 IronXL,請確保您已安裝 Visual Studio。您可以透過 NuGet 套件管理員或下載並參照 IronXL for .NET Excel DLL,將 IronXL 加入您的專案。

如何在 C# 中使用 IronXL.Excel 載入 Excel 工作簿?

要在 C# 中載入 Excel 工作簿,請使用 IronXL 的 WorkBook.Load("path/to/file.xlsx") 方法,此方法可讓您開啟和操作工作簿。

是否可以使用 IronXL.Excel 處理 Excel 公式?

是的,每當編輯工作表時,IronXL.Excel 都可以無縫處理和重新計算 Excel 公式,確保資料計算的準確性。

如何使用 IronXL 讀取特定儲存格的資料?

若要從特定的儲存格讀取資料,請使用 IronXL 語法,例如 sheet["B2"].StringValue 來取得儲存格 B2 的值。

我可以使用 IronXL.Excel 遍歷 Excel 表單中的單元格範圍嗎?

是的,您可以使用 IronXL 遍歷一個範圍內的單元格,語法如 foreach (var cell in sheet["A1:C3"]) 來單獨處理每個單元格。

IronXL 如何整合至 ASP.NET 應用程式?

IronXL 可以透過 NuGet 加入函式庫,並在專案中引用,輕鬆整合到 ASP.NET 應用程式中,在網頁應用程式中實現 Excel 檔案操作。

Jordi Bardia
軟體工程師
Jordi 在 Python、C# 和 C++ 上最得心應手,當他不在 Iron Software 展現技術時,便在做遊戲編程。在分担产品测测试,产品开发和研究的责任时,Jordi 为持续的产品改进增值。他说这种多样化的经验使他受到挑战并保持参与, 而这也是他与 Iron Software 中工作一大乐趣。Jordi 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。