C# Otwieranie arkuszy Excel za pomocą IronXL

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

Otwieraj arkusze Excel w C# używając metod IronXL WorkBook.Load() i GetWorkSheet(), aby uzyskać dostęp do każdego typu pliku Excel (.xls, .csv, .tsv, .xlsx) i czytać lub manipulować danymi za pomocą zaledwie dwóch linii kodu.

Dowiedz się, jak używać funkcji arkuszy Excel w C# do pracy z arkuszami kalkulacyjnymi Excel i wszystkimi typami plików, w tym .xls, .csv, .tsv i .xlsx. Otwieranie arkusza Excel, odczytywanie danych i manipulowanie nimi programowo jest niezbędne w wielu aplikacjach biznesowych. IronXL zapewnia usprawnione podejście, które eliminuje potrzebę korzystania z Excel Interop, oferując rozwiązanie wymagające mniejszego nakładu kodu i charakteryzujące się krótszym czasem reakcji.

Szybki start: Załaduj skoroszyt i otwórz arkusz w jednej linii

Wystarczy dwa proste wywołania metod, aby załadować dowolny obsługiwany plik Excel i otworzyć nazwany arkusz — bez skomplikowanej konfiguracji czy integracji. IronXL ułatwia natychmiastowe rozpoczęcie odczytu lub edycji danych.

  1. Install IronXL with NuGet Package Manager

    PM > Install-Package IronXl.Excel
  2. Skopiuj i uruchom ten fragment kodu.

    WorkBook wb = WorkBook.Load("sample.xlsx"); WorkSheet ws = wb.GetWorkSheet("Sheet1");
  3. Wdrożenie do testowania w środowisku produkcyjnym

    Rozpocznij używanie IronXL w swoim projekcie już dziś z darmową wersją próbną

    arrow pointer



Jak uzyskać dostęp do biblioteki Excel C#?

Uzyskaj dostęp do biblioteki Excel C# poprzez DLL lub zainstaluj ją za pomocą preferowanego menedżera NuGet. Po uzyskaniu dostępu do biblioteki IronXL i dodaniu jej do projektu można korzystać ze wszystkich poniższych funkcji w celu otwierania arkuszy Excel w języku C#. Szczegółowe instrukcje instalacji i wymagania systemowe można znaleźć w dokumentacji IronXL.

Install-Package IronXl.Excel

IronXL obsługuje wdrażanie na wielu platformach, w tym Linux, macOS i kontenerach Docker, dzięki czemu jest wszechstronnym rozwiązaniem dla różnych środowisk programistycznych.


Jak załadować plik Excel?

Użyj funkcji WorkBook.Load() z IronXL, aby załadować pliki Excel do projektu. Ta funkcja wymaga parametru typu string, który jest ścieżką do pliku Excel, który ma zostać otwarty. IronXL obsługuje ładowanie różnych formatów arkuszy kalkulacyjnych, w tym XLS, XLSX, CSV, TSV i innych. Aby uzyskać wyczerpujące wskazówki dotyczące ładowania różnych typów plików, zapoznaj się z samouczkiem dotyczącym ładowania arkuszy kalkulacyjnych.

: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

Plik Excel pod podaną ścieżką zostanie załadowany do obiektu workBook. Teraz określ arkusz Excel, który chcesz otworzyć. Parametr WorkBookLoadOptions pozwala na obsługę zeszytów zabezpieczonych hasłem oraz kontrolowanie zachowania przeliczania formuły.


Jak otworzyć arkusz kalkulacyjny Excel?

Aby otworzyć konkretny WorkSheet pliku Excel, IronXL udostępnia funkcję WorkBook.GetWorkSheet(). Użyj go, aby otworzyć arkusz roboczy według jego nazwy:

: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

Określony WorkSheet otworzy się w workSheet wraz z wszystkimi swoimi danymi. Istnieje kilka innych sposobów na otwarcie konkretnego WorkSheet pliku Excel:

: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

W przypadku bardziej zaawansowanych zadań związanych z zarządzaniem arkuszami, takich jak dodawanie, zmiana nazwy lub usuwanie arkuszy, zapoznaj się z przewodnikiem dotyczącym zarządzania arkuszami.

Teraz, uzyskaj dane z otwartego WorkSheet Excel.


Jak uzyskać dane z arkusza kalkulacyjnego?

Uzyskaj dane z otwartego WorkSheet Excel w następujących sposobach:

  1. Uzyskaj wartość konkretnej komórki WorkSheet Excel.
  2. Uzyskaj dane w konkretnym Range.
  3. Uzyskaj wszystkie dane z WorkSheet.
  4. Eksportuj dane do innych formatów.

Przyjrzyjmy się, jak pozyskać dane na różne sposoby, korzystając z poniższych przykładów:

Jak uzyskać konkretne wartości komórek?

Pierwsze podejście do uzyskiwania danych z WorkSheet Excel to pozyskiwanie specyficznych wartości komórek. Dostęp do nich można uzyskać w następujący sposób:

: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 to WorkSheet pliku Excel, jak pokazano w następujących przykładach. Dostęp do konkretnych wartości komórek można również uzyskać poprzez określenie indeksu wiersza i indeksu kolumny.

: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

Oto przykład, jak otworzyć plik Excel w projekcie C# i uzyskać konkretne wartości komórek przy użyciu obu metod:

: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

Ten kod wyświetla następujący wynik:

Konsola pokazująca pobieranie danych z arkusza: adres komórki zwraca

Wartość pliku Excel sample.xlsx w row [3].Column [1] i C6 komórki:

Arkusz Excel z tabelą danych biznesowych przedstawiającą segmenty, kraje i wartości z zaznaczonymi komórkami

Indeksy wierszy i kolumn zaczynają się od 0.

Otwórz Excel WorkSheets i uzyskaj specyficzne dane komórek, a więcej informacji na temat czytania danych Excel w C# z już otwartych arkuszy Excel znajdziesz tutaj. Aby uzyskać więcej przykładów dotyczących odczytu plików Excel, zapoznaj się z samouczkiem dotyczącym odczytu plików Excel.

Jak uzyskać dane z konkretnego zakresu?

Zbadaj teraz, jak uzyskać dane w konkretnym zakresie z otwartego WorkSheet Excelu przy pomocy IronXL. Funkcjonalność wyboru zakresu oferuje potężne opcje wydobywania danych.

IronXL oferuje inteligentny sposób na uzyskanie danych w konkretnym zakresie. Określ from do to wartości:

: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

Oto przykład użycia zakresu, aby uzyskać dane z otwartego WorkSheet Excelu:

: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

Powyżej kod pobierze dane z B2 do B10 w następujący sposób:

Konsola pokazuje wydobyte wartosci krajow z arkusza, w tym Kanada, Niemcy, Meksyk, Francja, Stany Zjednoczone.

Wartości pliku Excel sample.xlsx, od B2 do B10:

Arkusz kalkulacyjny Excel z danymi krajow w kolumnie B podswietlonej, pokazujacy segmenty biznesowe i odpowiadajace wartosci.

Jak uzyskać dane z wiersza?

Możesz również opisać zakres dla konkretnego wiersza. Na przykład:

: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

To pokazało wszystkie wartości od A1 do E1. Przeczytaj więcej o zakresach Excel w C# i jak pracować z różnymi identyfikacjami wierszy i kolumn.

Jak uzyskać wszystkie dane z arkusza?

Uzyskanie wszystkich danych komórek z otwartego WorkSheet Excel jest łatwe przy użyciu IronXL. Do tego zadania uzyskaj dostęp do każdej wartości komórki według indeksów wierszy i kolumn. Możesz również eksportować cały arkusz do różnych formatów, takich jak CSV, JSON lub XML w celu łatwiejszego przetwarzania. Zobacz następujący przykład, który przeszukuje wszystkie komórki WorkSheet i uzyskuje dostęp do ich wartości.

W tym przykładzie dwie pętle działają razem: jedna przeszukuje każdy wiersz WorkSheet Excelu, a druga przeszukuje każdą kolumnę konkretnego wiersza. W ten sposób każda wartość komórki jest łatwo dostępna.

: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

Wyjściowy kod powyższy wyświetli każdą wartość komórki z kompletnego otwartego WorkSheet Excel. Do pracy z większymi zbiorami danych rozważ użycie IronXL funkcjonalności eksportu DataSet i DataTable dla lepszej wydajności i zarządzania pamięcią.

Często Zadawane Pytania

Jak otworzyc arkusz Excel w C# bez zainstalowanego Microsoft Office?

IronXL oferuje proste rozwiazanie przy uzyciu metod WorkBook.Load() i GetWorkSheet(). Za pomoca zaledwie dwoch linii kodu mozesz otwierac dowolne pliki Excel (.xls, .xlsx, .csv, .tsv) bez koniecznosci uzywania Excel Interop ani instalacji Microsoft Office na swoim systemie.

Jakie formaty plikow sa wspierane przy otwieraniu arkuszy Excel?

IronXL wspiera wiele formatow arkuszy kalkulacyjnych, w tym .xls (starszy format Excel), .xlsx (nowoczesny format Excel), .csv (wartosci oddzielone przecinkami) i .tsv (wartosci oddzielone tabulacja). Funkcja WorkBook.Load() automatycznie obsluguje wszystkie te formaty bezproblemowo.

Czy moge wdrozyc moja aplikacje do arkuszy Excel na Linuksie lub macOS?

Tak, IronXL wspiera wdrazanie na wielu platformach, w tym Linux, macOS i kontenery Docker. Dzieki temu jest wszechstronny dla roznych srodowisk programistycznych oprócz Windows, eliminujac platformowe ograniczenia.

Jak zainstalowac biblioteke C# do otwierania plikow Excel w moim projekcie?

Mozesz uzyskac dostep do IronXL przez pobranie DLL lub zainstalowac ja za pomoca menedzera pakietow NuGet. Biblioteka zapewnia szczegolowa dokumentacje dotyczaca instrukcji instalacji i wymagan systemowych, aby szybko zaczac prace.

Jakies podstawowe kody do zaladowania pliku Excel i uzyskania dostepu do okreslonego arkusza?

Po prostu uzyj dwoch linii: WorkBook wb = WorkBook.Load("sample.xlsx"); WorkSheet ws = wb.GetWorkSheet("Sheet1"); To laduje twoj plik Excel i otwiera nazwany arkusz do natychmiastowego dostepu do danych i manipulacji nimi.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podrę...

Czytaj więcej
Gotowy, aby rozpocząć?
Nuget Pliki do pobrania 1,950,735 | Wersja: 2026.4 just released
Still Scrolling Icon

Wciąż przewijasz?

Czy chcesz szybko dowodu? PM > Install-Package IronXl.Excel
uruchom próbkę zobacz, jak Twoje dane stają się arkuszem.