如何在 C# 中開啟 Excel 工作表 | IronXL

C#使用IronXL打開Excel工作表

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

使用IronXL的GetWorkSheet()方法在C#中打開Excel工作表,以存取任何Excel文件型別(.xls, .csv, .tsv, .xlsx)並僅用兩行程式碼讀取或操控資料。

學習如何使用C#打開Excel工作表函式,以便處理Excel電子表格和所有文件型別,包括.xlsx。 打開Excel工作表、讀取其資料並程式化地進行操控對於許多商務應用是至關重要的。 IronXL提供了一種簡化的方法,消除了Excel Interop的需求,提供一個程式碼行數更少、響應時間更快的解決方案。

快速入門:載入工作簿並在一行中打開工作表

只需兩個簡單的方法調用即可載入任何支持的Excel文件並打開一個命名的工作表——不需要複雜的設置或Interop。 IronXL讓您可以立即開始讀取或編輯資料。

  1. 使用NuGet套件管理器安裝https://www.nuget.org/packages/IronXL.Excel

    PM > Install-Package IronXL.Excel
  2. 複製並運行這段程式碼片段。

    WorkBook wb = WorkBook.Load("sample.xlsx"); WorkSheet ws = wb.GetWorkSheet("Sheet1");
  3. 部署以在您的實時環境中測試

    今天就開始在您的專案中使用IronXL,透過免費試用

    arrow pointer



如何存取Excel C#庫?

通過DLL存取Excel C#庫或使用您的首選NuGet管理器安裝它。 一旦您存取了IronXL程式庫並將其新增到您的項目中,您可以使用以下函式在C#中打開Excel工作表。 有關詳細的安裝說明和系統要求,請參閱IronXL文件

Install-Package IronXL.Excel

IronXL支持在多個平台上部署,包括LinuxmacOSDocker容器,對於各種開發環境來說具有多功能性。


如何載入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參數允許您處理密碼保護的工作簿並控制公式重新計算行為。


如何打開Excel工作表?

要打開Excel文件的特定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中打開及其所有資料。 有幾種其他方法可以打開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. 獲取特定Range中的資料。
  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,如下所示。 還可以通過指定行索引和列索引來存取特定單元格值。

: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',行/列索引返回'90540'

Excel文件C6單元格中:

帶有商務資料表的Excel工作表顯示片段、國家和帶有高亮單元格的值

行和列索引從0開始。

打開Excel WorkSheets並獲取特定單元格資料,您可以閱讀更多關於如何在C#中讀取已打開的Excel工作表中的Excel資料。 有關更多讀取Excel文件的範例,請查看如何讀取Excel文件教程

如何從特定範圍中獲取資料?

現在檢查如何從打開的Excel WorkSheet中使用IronXL獲取特定範圍中的資料。 選擇範圍功能提供強大的資料擷取選項。

IronXL提供了一種智能的方式來獲取特定範圍中的資料。 指定to的值:

: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

上述程式碼將從B10提取資料,如下所示:

控制台輸出顯示從工作表中提取的國家值,包括Canada, Germany, Mexico, France, United States

Excel文件B10

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

這將展示所有從E1的值。 閱讀有關C# Excel範圍和如何處理不同行和列標識的更多資訊。

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

使用IronXL從打開的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的DataTable導出功能以獲得更好的性能和記憶體管理。

常見問題

如何在未安裝 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擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

準備好開始了嗎?
Nuget 下載 2,150,290 | 版本: 2026.7 剛剛發布
Still Scrolling Icon

仍在滾動嗎?

想要快速證明嗎? PM > Install-Package IronXL.Excel
運行一個範例 觀看您的資料成為試算表。