使用 IronXL 開啟 C# Excel 工作表

This article was translated from English: Does it need improvement?
Translated
View the article in English

學習如何使用 C# 開啟 Excel 工作表函數來處理 Excel 電子表格,並開啟所有檔案類型,包括( .xls.csv.tsv.xlsx )。 打開 Excel 工作表、讀取其中的資料以及以程式設計方式對其進行操作對於許多開發應用程式來說至關重要。 對於任何想要使用程式碼行數更少、響應速度更快的方法的開發人員來說,這裡提供一個解決方案。

快速入門:一行載入工作簿並開啟工作表

只需兩個簡單的方法調用,即可加載任何受支援的 Excel 文件並打開指定的工作表——無需複雜的設定或互操作。 使用 IronXL 入門非常簡單,您可以立即開始讀取或編輯資料。

Nuget Icon立即開始使用 NuGet 建立 PDF 檔案:

  1. 使用 NuGet 套件管理器安裝 IronXL

    PM > Install-Package IronXL.Excel

  2. 複製並運行這段程式碼。

    WorkBook wb = WorkBook.Load("sample.xlsx"); WorkSheet ws = wb.GetWorkSheet("Sheet1");
  3. 部署到您的生產環境進行測試

    立即開始在您的專案中使用 IronXL,免費試用!
    arrow pointer

最簡工作流程(5 個步驟)

  • 安裝 C# 庫以開啟 Excel 文件
  • 將 Excel 檔案載入到WorkBook物件中
  • 探索從開啟的 Excel 檔案中選擇工作表的多種方法
  • 透過選取的工作表物件存取單元格數據
  • 從行和列範圍內取得數據
How To Work related to 使用 IronXL 開啟 C# Excel 工作表

步驟 1

1. 存取 Excel C# 函式庫

可以透過 DLL 存取 Excel C# 程式庫,或使用您喜歡的NuGet 管理員安裝它。 一旦您造訪了 IronXL 庫並將其新增至您的專案中,您就可以使用以下所有函數在 C# 中開啟 Excel 工作表。

Install-Package IronXL.Excel

操作指南

2. 載入 Excel 文件

使用 IronXL 中的WorkBook.Load()函數將 Excel 檔案載入到專案中。 此函數需要一個字串參數,也就是要開啟的 Excel 檔案的路徑。 請看這裡:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-open-excel-worksheet-load-workbook.cs
using IronXL;

// Get a worksheet by its name
WorkSheet workSheet = workBook.GetWorkSheet("SheetName");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

指定路徑下的 Excel 檔案將會載入到workBook物件中。 現在,我們需要指定要開啟的 Excel 工作表。


3. 開啟Excel工作表

IronXL 提供了WorkBook.GetWorkSheet()函數,用於開啟 Excel 檔案的特定WorkSheet 。 利用這個功能,我們可以輕鬆地按名稱開啟工作表:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-open-excel-worksheet-get-worksheet.cs
// Get a worksheet by its name
WorkSheet workSheet = workBook.GetWorkSheet("SheetName");
' Get a worksheet by its name
Dim workSheet As WorkSheet = workBook.GetWorkSheet("SheetName")
$vbLabelText   $csharpLabel

指定的WorkSheet將以workSheet格式打開,並顯示其中的所有資料。 還有其他幾種方法可以開啟 Excel 檔案中的特定WorkSheet

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-open-excel-worksheet-multiple-open.cs
using IronXL;
using System.Linq;

// Open by sheet index
WorkSheet workSheet = workBook.WorkSheets[0];

// Open the default worksheet
WorkSheet workSheet2 = workBook.DefaultWorkSheet;

// Open the first sheet
WorkSheet workSheet3 = workBook.WorkSheets.First();

// Open the first or default sheet
WorkSheet workSheet4 = workBook.WorkSheets.FirstOrDefault();
Imports IronXL
Imports System.Linq

' Open by sheet index
Private workSheet As WorkSheet = workBook.WorkSheets(0)

' Open the default worksheet
Private workSheet2 As WorkSheet = workBook.DefaultWorkSheet

' Open the first sheet
Private workSheet3 As WorkSheet = workBook.WorkSheets.First()

' Open the first or default sheet
Private workSheet4 As WorkSheet = workBook.WorkSheets.FirstOrDefault()
$vbLabelText   $csharpLabel

現在,我們只需要從開啟的 Excel WorkSheet中取得資料。


4. 從工作表中取得數據

我們可以透過以下方式從已開啟的 Excel WorkSheet中取得資料:

  1. 取得 Excel WorkSheet中特定儲存格的值。
  2. 取得特定範圍內的數據。
  3. WorkSheet中取得所有資料。

讓我們透過以下範例,逐一了解如何以不同的方式取得數據:

4.1 取得特定單元格值

從 Excel WorkSheet中取得資料的第一種方法是取得特定儲存格的值。 可以透過以下方式存取:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-open-excel-worksheet-cell-address.cs
// Access a specific cell value by its address
string val = workSheet["Cell Address"].ToString();
' Access a specific cell value by its address
Dim val As String = workSheet("Cell Address").ToString()
$vbLabelText   $csharpLabel

workSheet是 Excel 檔案的WorkSheet ,我們將在以下範例中看到這一點。 也可以透過指定"行索引"和"列索引"來存取特定單元格的值。

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-open-excel-worksheet-cell-row.cs
// Access a cell value by row index and column index
string val = workSheet.Rows[RowIndex].Columns[ColumnIndex].Value.ToString();
' Access a cell value by row index and column index
Dim val As String = workSheet.Rows(RowIndex).Columns(ColumnIndex).Value.ToString()
$vbLabelText   $csharpLabel

讓我們來看一個範例,了解如何在 C# 專案中開啟 Excel 文件,並使用兩種方法來取得特定儲存格的值:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-open-excel-worksheet-specified-cell.cs
using IronXL;
using System;

WorkBook workBook = WorkBook.Load("sample.xlsx");

// Open WorkSheet
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

// Get value By Cell Address
int intValue = workSheet["C6"].Int32Value;

// Get value by Row and Column Address
string strValue = workSheet.Rows[3].Columns[1].Value.ToString();

Console.WriteLine("Getting Value by Cell Address: {0}", intValue);
Console.WriteLine("Getting Value by Row and Column Indexes: {0}", strValue);
Imports IronXL
Imports System

Private workBook As WorkBook = WorkBook.Load("sample.xlsx")

' Open WorkSheet
Private workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1")

' Get value By Cell Address
Private intValue As Integer = workSheet("C6").Int32Value

' Get value by Row and Column Address
Private strValue As String = workSheet.Rows(3).Columns(1).Value.ToString()

Console.WriteLine("Getting Value by Cell Address: {0}", intValue)
Console.WriteLine("Getting Value by Row and Column Indexes: {0}", strValue)
$vbLabelText   $csharpLabel

這段程式碼會顯示以下輸出:

1output related to 4.1 取得特定單元格值

Excel 檔案sample.xlsx row [3].Column [1]C6儲存格的值:

1excel related to 4.1 取得特定單元格值

行索引和列索引從0開始。

開啟 Excel WorkSheets並取得特定儲存格數據,您可以閱讀更多關於如何從已開啟的 Excel 工作表中使用 C# 讀取 Excel 資料的資訊

4.2. 從特定範圍取得數據

現在讓我們看看如何使用 IronXL 從開啟的 Excel WorkSheet中取得特定範圍內的資料。

IronXL 提供了一種智慧的方式來獲取特定範圍內的數據。 我們只需指定fromto值:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-open-excel-worksheet-select-range.cs
// Access data from a specific range
var rangeData = workSheet["From Cell Address : To Cell Address"];
' Access data from a specific range
Dim rangeData = workSheet("From Cell Address : To Cell Address")
$vbLabelText   $csharpLabel

讓我們來看一個如何使用 Range 函數從開啟的 Excel WorkSheet中取得資料的範例:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-open-excel-worksheet-from-range.cs
using IronXL;
using System;

// Load Excel file
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

// Specify the range
foreach (var cell in workSheet["B2:B10"])
{
    Console.WriteLine("Value is: {0}", cell.Text);
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

上述程式碼將從B2B10格提取數據,如下所示:

2output related to 4.2. 從特定範圍取得數據

我們可以看到 Excel 檔案sample.xlsxB2B10格的值:

2excel related to 4.2. 從特定範圍取得數據

4.3. 從行中取得數據

我們也可以描述特定行的範圍。 舉例來說

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-open-excel-worksheet-select-row-range.cs
var rowData = workSheet["A1:E1"];
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

這將顯示從A1E1的所有值。 閱讀更多關於C# Excel 區域以及如何使用不同的行和列標識的內容。

4.4. 從工作表中取得所有數據

使用 IronXL 也很容易從開啟的 Excel 工作表中取得所有儲存格資料。 為此,我們需要透過行索引和列索引來存取每個單元格的值。 讓我們來看下面的例子,其中我們將遍歷WorkSheet所有儲存格並存取其值。

在這個例子中,基本上有兩個循環在工作:一個循環用於遍歷 Excel WorkSheet中的每一行,另一個循環用於遍歷特定行的每一列。 這樣,就可以輕鬆存取每個單元格的值。

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-open-excel-worksheet-all.cs
using IronXL;
using System;
using System.Linq;

// Load Excel file
WorkBook workBook = WorkBook.Load("sample2.xlsx");
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

// Access all rows of the open Excel WorkSheet
for (int i = 0; i < workSheet.Rows.Count(); i++)
{
    // Access all columns of a specific row
    for (int j = 0; j < workSheet.Columns.Count(); j++)
    {
        // Access each cell for the specified column
        Console.WriteLine(workSheet.Rows[i].Columns[j].Value.ToString());
    }
}
Imports IronXL
Imports System
Imports System.Linq

' Load Excel file
Private workBook As WorkBook = WorkBook.Load("sample2.xlsx")
Private workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1")

' Access all rows of the open Excel WorkSheet
For i As Integer = 0 To workSheet.Rows.Count() - 1
	' Access all columns of a specific row
	For j As Integer = 0 To workSheet.Columns.Count() - 1
		' Access each cell for the specified column
		Console.WriteLine(workSheet.Rows(i).Columns(j).Value.ToString())
	Next j
Next i
$vbLabelText   $csharpLabel

上述程式碼的輸出將顯示整個開啟的 Excel WorkSheet中每個儲存格的值。


教程快速訪問

Documentation related to 教程快速訪問

API 參考資源

使用 IronXL API 參考資源作為指南,以了解專案中要使用的所有函數和類,以及命名空間、方法欄位、枚舉和功能集。

API 參考資源

常見問題解答

如何使用 C# 開啟和操作 Excel 工作表?

您可以使用 IronXL.Excel 函式庫在 C# 中開啟和處理 Excel 工作表。首先安裝函式庫,然後使用 WorkBook.Load() 將 Excel 檔案載入 WorkBook 物件。您可以使用 WorkBook.GetWorkSheet() 方法選擇並開啟特定的工作表。

C# 支援哪些 Excel 檔案類型?

在 C# 中,您可以使用 IronXL library 處理各種 Excel 檔案類型,例如 .xls, .csv, .tsv 以及 .xlsx

如何使用 C# 從 Excel 工作表中擷取特定儲存格的數值?

若要使用 C# 從 Excel 工作表中擷取特定儲存格的值,請利用 IronXL 函式庫,透過 ws["Cell Address"].ToString() 的位址存取儲存格,或使用 ws.Rows[RowIndex].Columns[ColumnIndex].Value.ToString() 指定行和列索引。

我可以使用 C# 從工作表中定義的儲存格範圍取得資料嗎?

是的,您可以使用 C#,透過 IronXL 函式庫的語法 ws["From Cell Address : To Cell Address"],從工作表中定義的儲存格範圍取得資料,以存取指定範圍內的資料。

如何以程式化方式讀取 Excel 工作表中的所有資料?

若要以 C# 程式化方式讀取 Excel 工作表中的所有資料,您可以使用 IronXL 函式庫在每一行和每一列中進行循環,並以 ws.Rows[i].Columns[j].Value.ToString() 存取每個儲存格的值。

開發人員為何要使用 C# 處理 Excel 檔案的函式庫?

使用 IronXL 之類的函式庫對開發人員非常有利,因為它簡化了在 C# 專案中開啟、讀取和處理 Excel 檔案的程序,提供強大的函式和類別以有效率地處理 Excel 內容。

如何在 C# 專案中安裝 Excel 處理函式庫?

若要在您的 C# 專案中安裝 IronXL 函式庫以處理 Excel,請使用 NuGet 套件管理程式,並使用 dotnet add package IronXL.Excel 指令。

是否可以使用 C# 在工作簿中透過索引開啟工作表?

是的,您可以使用 IronXL 函式庫透過工作簿中的索引開啟工作表,語法為 WorkSheet ws = wb.WorkSheets[index];,其中 'index' 代表工作表在工作簿中的位置。

如何使用 C# 處理 Excel 檔案中的特定儲存格範圍?

IronXL 可讓您透過指定範圍 (如 "A1:E1") 來處理特定的儲存格範圍,以存取和處理 Excel 檔案中該定義範圍內的資料。

我在哪裡可以找到更多關於 C# 中 Excel 處理可用函數的資訊?

如需關於 C# 中可用於 Excel 處理的函式的詳細資訊,您可以參考 IronXL.Excel API Reference 資源,其中提供了關於函式、類別和命名空間的全面說明文件。請造訪 API Reference:https://ironsoftware.com/csharp/excel/object-reference/api/。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

準備好開始了嗎?
Nuget 下載 1,738,553 | Version: 2025.11 剛發表