C# 使用 IronXL 開啟 Excel 工作表。

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

使用 IronXL 的 WorkBook.Load()GetWorkSheet() 方法在 C# 中開啟 Excel 工作表,以存取任何 Excel 檔案類型 (.xls、.csv、.tsv、.xlsx),並僅需兩行程式碼即可讀取或處理資料。

學習如何使用 C# 開啟 Excel 工作表功能,以處理 Excel 試算表和所有檔案類型,包括 .xls, .csv, .tsv.xlsx. 開啟 Excel 工作表、讀取其資料並以程式化的方式進行操作,對許多商業應用程式來說都是不可或缺的。 IronXL 提供簡化的方法,不需要 Excel Interop,提供代碼行數更少、反應時間更快的解決方案。

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

只需兩個簡單的方法調用,即可加載任何受支援的 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 C# 使用 IronXL 開啟 Excel 工作表。

步驟 1

我該如何存取 Excel C# Library?

可以透過 DLL 存取 Excel C# 程式庫,或使用您喜歡的NuGet 管理員安裝它。 一旦您存取了 IronXL 函式庫,並將其加入您的專案中,您就可以使用下列所有函式在 C# 中開啟 Excel 工作表。 如需詳細安裝說明和系統需求,請參閱 IronXL 文件

Install-Package IronXL.Excel

IronXL 支援跨平台部署,包括 LinuxmacOS,以及 Docker containers,因此適用於各種開發環境。


操作指南

如何載入 Excel 檔案?

使用 IronXL 中的WorkBook.Load()函數將 Excel 檔案載入到專案中。 此函數需要一個字串參數,也就是要開啟的 Excel 檔案的路徑。 IronXL 支援載入各種試算表格式,包括 XLS、XLSX、CSV、TSV 等。 有關載入不同檔案類型的全面指引,請參閱 載入試算表教學

: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");
Imports IronXL

' Get a worksheet by its name
Dim workSheet As WorkSheet = workBook.GetWorkSheet("SheetName")
$vbLabelText   $csharpLabel

指定路徑下的 Excel 檔案將會載入到workBook物件中。 現在,指定要開啟的 Excel 工作表。 WorkBookLoadOptions 參數允許您處理 password-protected workbooks 並控制公式重新計算行為。


如何開啟 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 取得資料。


如何從工作表取得資料?

以下列方式從開啟的 Excel WorkSheet 取得資料:

  1. 取得 Excel WorkSheet中特定儲存格的值。
  2. 取得特定範圍內的數據。
  3. WorkSheet中取得所有資料。 4.將資料匯出為其他格式。

讓我們以這些範例來檢視如何以不同的方式取得資料:

如何取得特定的儲存格值?

從 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

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

控制台顯示工作表資料擷取:單元格位址回傳 'Canada

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

Excel 工作表中的業務資料表顯示了區段、國家和值,並高亮顯示單元格

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

開啟 Excel WorkSheets 並取得特定的儲存格資料,您可以閱讀更多關於如何 以 C# 從已開啟的 Excel 工作表中讀取 Excel 資料的資訊。 如需閱讀 Excel 檔案的更多範例,請參閱 如何閱讀 Excel 檔案教學

如何從特定範圍取得資料?

現在研究如何使用 IronXL.Excel 從已開啟的 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);
}
Imports IronXL
Imports System

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

' Specify the range
For Each cell In workSheet("B2:B10")
    Console.WriteLine("Value is: {0}", cell.Text)
Next
$vbLabelText   $csharpLabel

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

控制台輸出顯示從工作表中萃取的國家值,包括加拿大、德國、墨西哥、法國、美國

Excel 檔 sample.xlsx 的值,從 B2B10

Excel 試算表,高亮顯示 B 欄中的國家資料,顯示業務區段和相對應的數值

如何從行中取得資料?

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

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-open-excel-worksheet-select-row-range.cs
var rowData = workSheet["A1:E1"];
Dim rowData = workSheet("A1:E1")
$vbLabelText   $csharpLabel

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

如何從工作表取得所有資料?

使用 IronXL.Excel 可輕鬆從開啟的 Excel WorkSheet 中取得所有儲存格資料。 對於這項任務,請透過行和列索引存取每個儲存格值。 您也可以 將整個工作表匯出為各種格式,例如 CSV、JSON 或 XML,以方便處理。 請參閱以下範例,該範例遍歷所有 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中每個儲存格的值。 若要處理較大的資料集,請考慮使用 IronXL.Excel 的 DataSet 和 DataTable 匯出功能,以獲得更好的效能和記憶體管理。


教程快速訪問

Documentation related to 教程快速訪問
### API 參考資源

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

API 參考資源

常見問題解答

在沒有安裝 Microsoft Office 的情況下,如何在 C# 中開啟 Excel 工作表?

IronXL 使用 WorkBook.Load() 和 GetWorkSheet() 方法提供了簡單的解決方案。只需兩行程式碼,您就可以開啟任何 Excel 檔案 (.xls、.xlsx、.csv、.tsv),而無需在系統上安裝 Excel Interop 或 Microsoft Office。

開啟 Excel 工作表時支援哪些檔案格式?

IronXL 支援多種試算表格式,包括 .xls (舊 Excel 格式)、.xlsx (現代 Excel 格式)、.csv (以逗號分隔的值) 及 .tsv (以標籤分隔的值)。WorkBook.Load() 函式可自動無縫處理所有這些格式。

我可以在 Linux 或 macOS 上部署 Excel 工作表應用程式嗎?

是的,IronXL 支援跨平台部署,包括 Linux、macOS 和 Docker 容器。這使它成為 Windows 以外各種開發環境的通用工具,消除特定平台的限制。

如何為我的專案安裝 Excel C# 函式庫?

您可以透過 DLL 下載存取 IronXL,或透過 NuGet 套件管理程式安裝。該函式庫提供全面的說明文件,可提供詳細的安裝說明和系統需求,讓您快速上手。

載入 Excel 檔案並存取特定工作表的基本程式碼是什麼?

只需使用兩行WorkBook wb = WorkBook.Load("sample.xlsx"); WorkSheet ws = wb.GetWorkSheet("Sheet1"); 這將載入您的 Excel 檔案,並開啟命名的工作表,以便立即存取和處理資料。

Curtis Chau
技術撰稿人

Curtis Chau 擁有電腦科學學士學位(卡爾頓大學),專長於前端開發,精通 Node.js、TypeScript、JavaScript 和 React。Curtis 對製作直覺且美觀的使用者介面充滿熱情,他喜歡使用現代化的架構,並製作結構良好且視覺上吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 也有濃厚的興趣,他喜歡探索整合硬體與軟體的創新方式。在空閒時間,他喜歡玩遊戲和建立 Discord bots,將他對技術的熱愛與創意結合。

準備好開始了嗎?
Nuget 下載 1,846,091 | 版本: 2026.2 剛剛發布