C# Open Excel Worksheets

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 IconGet started making PDFs with NuGet now:

  1. Install IronXL with NuGet Package Manager

    PM > Install-Package IronXL.Excel

  2. Copy and run this code snippet.

    WorkBook wb = WorkBook.Load("sample.xlsx"); WorkSheet ws = wb.GetWorkSheet("Sheet1");
  3. Deploy to test on your live environment

    Start using IronXL in your project today with a free trial
    arrow pointer
class="learn-how-section">
class="row">
class="col-sm-6">

最小工作流程 (5 步)

  • 安裝 C# 庫以打開 Excel 文件
  • 將 Excel 文件加載到 WorkBook 對象中
  • 探索從已打開的 Excel 文件中選擇 WorkSheet 的多種方法
  • 通過選擇的 WorkSheet 對象訪問單元格數據
  • 從行和列的範圍中獲取數據
class="col-sm-6">
class="download-card"> How To Work related to C# Open Excel Worksheets

步驟 1

1. 訪問 Excel C# 庫

Access the Excel C# Library via DLL or install it using your preferred NuGet manager. 一旦訪問到 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 工作表

要打開 Excel 文件的特定 WorkSheet,IronXL 提供了 WorkBook.GetWorkSheet() 函數。 使用此函數,我們可以輕鬆地按名稱打開工作表:

: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

此代碼顯示以下輸出:

class="center-image-wrapper">1output related to 4.1. 獲取特定單元格值

Excel 文件 sample.xlsxrow [3].Column [1]C6 單元格的值:

class="center-image-wrapper">1excel related to 4.1. 獲取特定單元格值

行和列索引從 0 開始。

打開 Excel WorkSheets 並獲取特定單元格數據,您可以閱讀更多關於如何在 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

讓我們看看如何使用範圍從打開的 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 擷取數據如下:

class="center-image-wrapper">2output related to 4.2. 從特定範圍獲取數據

我們可以看到 Excel 文件 sample.xlsx 的數據,從 B2B10

class="center-image-wrapper">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 的每個單元格值。


### 教程快速訪問

class="tutorial-section">
class="row">
class="col-sm-4">
class="tutorial-image"> Documentation related to 4.4. 從工作表獲取所有數據
class="col-sm-8">

API 參考資源

使用 IronXL API 參考資源作為使用函數與類別的指南,以及命名空間、方法字段、枚舉和功能集,以供項目中使用。

API 參考資源

常見問題解答

如何使用 C# 打開並操作 Excel 工作表?

您可以透過 IronXL 庫在 C# 中打開並操作 Excel 工作表。從安裝庫開始,然後使用 WorkBook.Load() 將您的 Excel 文件載入 WorkBook 對象中。您可以使用 WorkBook.GetWorkSheet() 方法選擇和打開特定工作表。

C# 中支援哪些 Excel 文件類型?

在 C# 中,您可以使用 IronXL 庫處理各種 Excel 文件類型,如 .xls.csv.tsv.xlsx

如何從 C# 中的 Excel 工作表中檢索特定單元格的值?

要從 Excel 工作表中檢索特定單元格的值,請使用 IronXL 庫透過單元格地址 ws["Cell Address"].ToString() 或指定行和列索引 ws.Rows[RowIndex].Columns[ColumnIndex].Value.ToString() 訪問單元格。

我可以使用 C# 從工作表中定義的範圍內獲取數據嗎?

是的,您可以使用 C# 從工作表中定義的範圍內獲取數據,方法是使用 IronXL 庫的語法 ws["From Cell Address : To Cell Address"] 來訪問指定範圍內的數據。

我如何以程式化方式從 Excel 工作表中讀取所有數據?

要以程式化方式從 Excel 工作表中讀取所有數據,請在 C# 中使用 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 API Reference 資源,該資源提供有關功能、類和命名空間的綜合文檔。訪問 https://ironsoftware.com/csharp/excel/object-reference/api/ 查看 API 參考。

Curtis Chau
技術作家

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

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

準備好開始了嗎?
Nuget 下載 1,686,155 | 版本: 2025.11 剛剛發布