C#使用IronXL打開Excel工作表
使用IronXL的GetWorkSheet()方法在C#中打開Excel工作表,以存取任何Excel文件型別(.xls, .csv, .tsv, .xlsx)並僅用兩行程式碼讀取或操控資料。
學習如何使用C#打開Excel工作表函式,以便處理Excel電子表格和所有文件型別,包括.xlsx。 打開Excel工作表、讀取其資料並程式化地進行操控對於許多商務應用是至關重要的。 IronXL提供了一種簡化的方法,消除了Excel Interop的需求,提供一個程式碼行數更少、響應時間更快的解決方案。
快速入門:載入工作簿並在一行中打開工作表
只需兩個簡單的方法調用即可載入任何支持的Excel文件並打開一個命名的工作表——不需要複雜的設置或Interop。 IronXL讓您可以立即開始讀取或編輯資料。
最小化工作流程(5步驟)
要打開和操作Excel工作表,請遵循以下步驟:
- 安裝C#庫以打開Excel文件
- 使用
WorkBook.Load()將Excel文件載入到WorkBook物件中 - 使用多種存取方法選擇一個
WorkSheet - 通過所選的
WorkSheet物件存取單元格資料 - 從行和列範圍獲取資料
如何存取Excel C#庫?
通過DLL存取Excel C#庫或使用您的首選NuGet管理器安裝它。 一旦您存取了IronXL程式庫並將其新增到您的項目中,您可以使用以下函式在C#中打開Excel工作表。 有關詳細的安裝說明和系統要求,請參閱IronXL文件。
Install-Package IronXL.Excel
IronXL支持在多個平台上部署,包括Linux、macOS和Docker容器,對於各種開發環境來說具有多功能性。
如何載入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")
指定路徑的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")
指定的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()
有關更高級的工作表管理任務,如新增、更名或刪除工作表,請參閱管理工作表指南。
現在,從打開的Excel WorkSheet中獲取資料。
如何從工作表中獲取資料?
從打開的Excel WorkSheet中獲取資料的以下方式:
- 獲取Excel
WorkSheet的特定單元格值。 - 獲取特定
Range中的資料。 - 獲取
WorkSheet中的所有資料。 - 將資料導出到其他格式。
讓我們通過這些範例來檢查如何以不同方式獲取資料:
如何獲取特定單元格值?
從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()
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()
這是一個在您的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)
此程式碼顯示以下輸出:
Excel文件C6單元格中:
行和列索引從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")
這裡有一個使用範圍從打開的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
上述程式碼將從B10提取資料,如下所示:
Excel文件B10:
如何從行中獲取資料?
您還可以描述特定行的範圍。 例如:
: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")
這將展示所有從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
上述程式碼的輸出將顯示完整打開的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 文件並開啟特定命名的工作表,以立即存取和操控資料。





