Jak edytować plik Excel w języku C#

Edycja pliku Excel w C

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

Edytuj pliki Excel w C# za pomocą biblioteki IronXL, który dostarcza proste metody do modyfikowania komórek, wierszy, kolumn i arkuszy kalkulacyjnych programowo bez Excel Interop, zmniejszając błędy i złożoność.

Programiści potrzebują precyzji przy modyfikowaniu plików Excel w C#, ponieważ jeden błąd może uszkodzić całe dokumenty. Prosty, efektywny kod zmniejsza ryzyko błędów i upraszcza programistyczną edycję lub usuwanie plików Excel. IronXL zapewnia kompleksowe rozwiązanie do pracy z plikami Excel w C#, które eliminuje zależności od Microsoft Office. Ten przewodnik obejmuje kroki do prawidłowej i szybkiej edycji plików Excel w C# za pomocą przetestowanych funkcji.

Quickstart: Edytuj wartość konkretnej komórki za pomocą IronXL

Ten przykład pokazuje, jak załadować istniejący plik Excel, zaktualizować pojedynczą komórkę i zapisać zmiany z wykorzystaniem IronXL. Rozpocznij w mniej niż 5 liniach, bez potrzeby Interop. Dla skomplikówanych operacji, zapoznaj się z naszą pełną dokumentacją API.

  1. Install IronXL with NuGet Package Manager

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

    IronXl.WorkBook.Load("file.xlsx").GetWorkSheet("Sheet1")["C3"].Value = "Hello IronXL";
    // then save your workbook
    iroExcelWorkBook.SaveAs("file.xlsx");
  3. Wdrożenie do testowania w środowisku produkcyjnym

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

    arrow pointer

Krok 1

Jak skonfigurować IronXL do edycji Excel w C#?

Ten tutorial używa IronXL, biblioteki Excel dla C#. Pobierz i zainstaluj ją w swoim projekcie (darmowy dla deweloperów), aby używać tych funkcji. IronXL wspiera różne platformy, w tym Linux i macOS, co czyni go wszechstronnym dla rozwoju międzyplatformowego.

You can either Download IronXL.zip or read more and install via the NuGet package page.

Po zainstalowaniu, zaczynamy działać. Nowy w IronXL? Sprawdź nasz przegląd Wprowadzenia dla pełnego wprowadzenia.


Install-Package IronXL.Excel

W razie potrzeby zastąp x.x.x odpowiednim numerem wersji.


Poradnik "Jak to zrobić"

Jak edytować konkretne wartości komórek w Excelu?

Najpierw dowiedz się, jak edytować konkretne wartości komórek w arkuszu Excel SpreadSheet. Jest to jedna z najczęstszych operacji przy edycji plików Excel w C#.

Zaimportuj plik Excel SpreadSheet w celu modyfikacji, a następnie uzyskaj dostęp do jego WorkSheet. Zastosuj modyfikacje, jak pokazano poniżej. IronXL oferuje wiele sposobów dostępu do komórek, oferując elastyczność dla różnych stylów programowania.

:path=/static-assets/excel/content-code-examples/how-to/csharp-edit-excel-file-specific-cell-value.cs
using IronXL;

// Load the Excel workbook
WorkBook wb = WorkBook.Load("sample.xlsx");
// Access a specific worksheet
WorkSheet ws = wb.GetWorkSheet("Sheet1");
// Access specific cell by identifying its row and column, then modify its value
ws.Rows[3].Columns[1].Value = "New Value";
// Save changes to the workbook
wb.SaveAs("sample.xlsx");
Imports IronXL

' Load the Excel workbook
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
' Access a specific worksheet
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
' Access specific cell by identifying its row and column, then modify its value
ws.Rows(3).Columns(1).Value = "New Value"
' Save changes to the workbook
wb.SaveAs("sample.xlsx")
$vbLabelText   $csharpLabel

Oto zrzuty ekranu przed i po zmianach w Excelu SpreadSheet sample.xlsx:

Przed Po
Arkusz kalkulacyjny Excel z zaznaczoną komórką zawierającą słowo Komórka B4 w Excelu z napisem

Zauważ, jak łatwo jest zmodyfikować wartość SpreadSheet w Excelu. To podejście działa dobrze przy aktualizacji konkretnych punktów danych bez wpływu na resztę arkusza kalkulacyjnego.

Alternatywny sposób edytowania konkretnej wartości komórek według adresu komórki:

// Alternative way to access specific cell and apply changes
ws["B4"].Value = "New Value";
// Alternative way to access specific cell and apply changes
ws["B4"].Value = "New Value";
' Alternative way to access specific cell and apply changes
ws("B4").Value = "New Value"
$vbLabelText   $csharpLabel

Jak edytować pełne wartości wiersza w Excelu?

Z łatwością edytuj pełne wartości wierszy w pliku Excel SpreadSheet za pomocą wartości statycznej. Ta operacja pomaga przy aktualizacji całych rekordów jednocześnie, jak resetowanie danych lub stosowanie masowych aktualizacji. Dla złożonych operacji na wierszach, zobacz dodawanie wierszy i kolumn.

:path=/static-assets/excel/content-code-examples/how-to/csharp-edit-excel-file-row-value.cs
using IronXL;

WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
// Setting a static value for the entire row
ws.Rows[3].Value = "New Value";
wb.SaveAs("sample.xlsx");
Imports IronXL

Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
' Setting a static value for the entire row
ws.Rows(3).Value = "New Value"
wb.SaveAs("sample.xlsx")
$vbLabelText   $csharpLabel

Zobacz zrzuty ekranu sample.xlsx poniżej:

Przed Po
Arkusz kalkulacyjny Excel z zaznaczonym wierszem 4, przedstawiający dane segmentu rządowego dla Francji z produktem Montana Tabela Excel pokazująca nowy wiersz z wpisami

Edytuj wartości określonego zakresu w wierszu za pomocą funkcji range:

// Editing a specific range of a row
ws["A3:E3"].Value = "New Value";
// Editing a specific range of a row
ws["A3:E3"].Value = "New Value";
' Editing a specific range of a row
ws("A3:E3").Value = "New Value"
$vbLabelText   $csharpLabel

Podczas pracy z zakresami, możesz również potrzebować wyboru zakresów dla zaawansowanych operacji jak sortowanie czy stosowanie formuł.


Jak edytować pełne wartości kolumn w Excelu?

Z łatwością edytuj całe kolumny wartości SpreadSheet w Excelu, zastępując je jedną wartością. To działa dobrze w scenariuszach jak aktualizacja kolumn walut, stosowanie nowych stawek podatkowych czy ujednolicanie formatów danych w całej kolumnie.

:path=/static-assets/excel/content-code-examples/how-to/csharp-edit-excel-file-full-column.cs
using IronXL;

WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
// Setting a static value for the entire column
ws.Columns[1].Value = "New Value";
wb.SaveAs("sample.xlsx");
Imports IronXL

Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
' Setting a static value for the entire column
ws.Columns(1).Value = "New Value"
wb.SaveAs("sample.xlsx")
$vbLabelText   $csharpLabel

W ten sposób powstaje nasz arkusz kalkulacyjny sample.xlsx, jak pokazano poniżej:

Przed Po
Arkusz kalkulacyjny Excel z kolumną Arkusz kalkulacyjny Excel pokazujący kolumnę B wypełnioną tekstem

Jak edytować pełny wiersz dynamicznymi wartościami?

IronXL pozwala edytować konkretne wiersze za pomocą dynamicznych wartości. Edytuj pełny wiersz przypisując dynamiczne wartości dla każdej komórki. To podejście działa dobrze podczas importowania danych z baz danych lub innych źródeł wymagających unikalnych wartości dla każdej komórki. Zobacz przykład:

:path=/static-assets/excel/content-code-examples/how-to/csharp-edit-excel-file-full-row-dynamic.cs
using IronXL;
using System.Linq;

WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
for (int i = 0; i < ws.Columns.Count(); i++)
{
    // Assign dynamic values to each cell in the row
    ws.Rows[3].Columns[i].Value = "New Value " + i.ToString();
}
wb.SaveAs("sample.xlsx");
Imports IronXL
Imports System.Linq

Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
For i As Integer = 0 To ws.Columns.Count() - 1
    ' Assign dynamic values to each cell in the row
    ws.Rows(3).Columns(i).Value = "New Value " & i.ToString()
Next
wb.SaveAs("sample.xlsx")
$vbLabelText   $csharpLabel

Poniższa tabela przedstawia zrzuty ekranu z programu Excel SpreadSheet sample.xlsx z tego wyniku:

Przed Po
Arkusz kalkulacyjny Excel z zaznaczonym wierszem 4, przedstawiający dane segmentu Enterprise przed edycją z wartościami dynamicznymi Arkusz Excel z wierszem 4 zawierającym tekst zastępczy

Jak edytować pełną kolumnę dynamicznymi wartościami?

Edytuj konkretne kolumny dynamicznymi wartościami po prostu. Ta technika pomaga wypełnić kolumny danymi sekwencyjnymi jak numery ID, daty czy wartości obliczone na podstawie pozycji wiersza.

:path=/static-assets/excel/content-code-examples/how-to/csharp-edit-excel-file-full-column-dynamic.cs
using IronXL;
using System.Linq;

WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
for (int i = 0; i < ws.Rows.Count(); i++)
{
    // Skip the first row if it's used as a header
    if (i == 0)
        continue;
    // Assign dynamic values to each cell in the column
    ws.Rows[i].Columns[1].Value = "New Value " + i.ToString();
}
wb.SaveAs("sample.xlsx");
Imports IronXL
Imports System.Linq

Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
For i As Integer = 0 To ws.Rows.Count() - 1
    ' Skip the first row if it's used as a header
    If i = 0 Then
        Continue For
    End If
    ' Assign dynamic values to each cell in the column
    ws.Rows(i).Columns(1).Value = "New Value " & i.ToString()
Next
wb.SaveAs("sample.xlsx")
$vbLabelText   $csharpLabel

Z poniższą tabelą wyników sample.xlsx:

Przed Po
Arkusz kalkulacyjny Excel z zaznaczoną kolumną Arkusz Excel pokazujący kolumnę

Jak zastąpić wartości w arkuszu Excel?

Zastąp dowolny typ wartości zaktualizowaną wartością w pliku Excel SpreadSheet za pomocą funkcji Replace. Użyj tej funkcji, aby zastąpić dane Excel SpreadSheet w dowolnej sytuacji. To działa dobrze dla oczyszczania danych, aktualizacji terminologii czy korekty systematycznych błędów w arkuszach kalkulacyjnych.

Jak zastąpić wartości w całym arkuszu roboczym?

Aby zastąpić określoną wartość w całym pliku Excel SpreadSheet zaktualizowaną wartością, należy przejść do WorkSheet ws (tak jak w powyższych przykładach) i zastosować funkcję Replace:

// Replace a specific value in the entire worksheet
ws.Replace("old value", "new value");
// Replace a specific value in the entire worksheet
ws.Replace("old value", "new value");
' Replace a specific value in the entire worksheet
ws.Replace("old value", "new value")
$vbLabelText   $csharpLabel

Ta funkcja zastępuje old value przez new value w pełnym arkuszu Excel SpreadSheet. To potężna funkcja dla masowych aktualizacji, które w przeciwnym razie wymagałyby ręcznych operacji znajdowania i zastępowania w Excelu.

Pamiętaj, aby zapisać plik po każdej zmianie, jak pokazano w powyższych przykładach. Dla więcej informacji na temat zapisywania i eksportowania plików Excel, zobacz nasz przewodnik na temat konwersji typów plików arkuszy kalkulacyjnych.

Jak zastąpić wartości w konkretnym wierszu?

Aby dokonać zmian w konkretnym wierszu zamiast całego arkusza roboczego, użyj tego kodu:

// Replace a specific value in a specific row
ws.Rows[2].Replace("old value", "new value");
// Replace a specific value in a specific row
ws.Rows[2].Replace("old value", "new value");
' Replace a specific value in a specific row
ws.Rows(2).Replace("old value", "new value")
$vbLabelText   $csharpLabel

Powyższy kod zastępuje old value przez new value tylko w wierszu nr 2. Reszta WorkSheet pozostaje bez zmian.

Jak zastąpić wartości w zakresie wiersza?

Zastąp wartości w obrębie określonego zakresu w następujący sposób:

// Replace specific values in a row range
ws["From Cell Address : To Cell Address"].Replace("old value", "new value");
// Replace specific values in a row range
ws["From Cell Address : To Cell Address"].Replace("old value", "new value");
' Replace specific values in a row range
ws("From Cell Address : To Cell Address").Replace("old value", "new value")
$vbLabelText   $csharpLabel

Aby zastąpić starą wartość nową w zakresie od B4 do E4 w wierszu o numerze 4, wpisz:

ws["B4:E4"].Replace("old value", "new value");
ws["B4:E4"].Replace("old value", "new value");
ws("B4:E4").Replace("old value", "new value")
$vbLabelText   $csharpLabel

Jak zastąpić wartości w konkretnej kolumnie?

Zastąp wartości konkretnej kolumny, zachowując resztę arkusza roboczego niezmienioną:

// Replace specific values in a column
ws.Columns[1].Replace("old value", "new value");
// Replace specific values in a column
ws.Columns[1].Replace("old value", "new value");
' Replace specific values in a column
ws.Columns(1).Replace("old value", "new value")
$vbLabelText   $csharpLabel

Powyższy kod zastępuje old value na new value tylko w kolumnie nr 1.

Jak zastąpić wartości w zakresie kolumny?

Użyj funkcji range, aby zastąpić tekst w zakresie określonej kolumny:

// Replace specific values in a column range
ws["B5:B10"].Replace("old value", "new value");
// Replace specific values in a column range
ws["B5:B10"].Replace("old value", "new value");
' Replace specific values in a column range
ws("B5:B10").Replace("old value", "new value")
$vbLabelText   $csharpLabel

Powyższy kod zastępuje old value przez new value tylko w zakresie od B5 do B10 dla kolumny B.


Jak usunąć wiersz z arkusza Excel?

IronXL udostępnia prostą funkcję do usuwania określonego wiersza z arkusza Excel SpreadSheet. Ta funkcjonalność pomaga przy oczyszczaniu danych lub usuwaniu przestarzałych rekordów z arkuszy kalkulacyjnych. Zobacz przykład:

:path=/static-assets/excel/content-code-examples/how-to/csharp-edit-excel-file-row-value.cs
using IronXL;

WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
// Setting a static value for the entire row
ws.Rows[3].Value = "New Value";
wb.SaveAs("sample.xlsx");
Imports IronXL

Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
' Setting a static value for the entire row
ws.Rows(3).Value = "New Value"
wb.SaveAs("sample.xlsx")
$vbLabelText   $csharpLabel

Powyższy kod usuwa wiersz nr 3 z SpreadSheet sample.xlsx, jak pokazano w poniższej tabeli:

Przed Po
Arkusz Excel z zaznaczonym wierszem 4, przedstawiający dane segmentu rządowego dla Kanady przed operacją usunięcia wiersza Arkusz Excel z wierszem 4 zaznaczonym na niebiesko, pokazujący wynik po operacji usunięcia wiersza

Jak usunąć arkusz roboczy z pliku Excel?

Aby usunąć cały fragment WorkSheet z pliku Excel, należy skorzystać z poniższej metody. To pomaga przy konsolidacji danych lub usuwaniu tymczasowych arkuszy roboczych używanych do obliczeń. Dla więcej informacji na temat zarządzania arkuszami roboczymi, zobacz nasz przewodnik na temat zarządzania arkuszami roboczymi.

// Remove a worksheet by its index
wb.RemoveWorkSheet(1); // by sheet indexing
// Remove a worksheet by its index
wb.RemoveWorkSheet(1); // by sheet indexing
' Remove a worksheet by its index
wb.RemoveWorkSheet(1) ' by sheet indexing
$vbLabelText   $csharpLabel

WorkSheet WorkSheet to WorkSheet, tak samo jak w powyższych przykładach. Aby usunąć arkusz roboczy według nazwy:

// Remove a worksheet by its name
wb.RemoveWorkSheet("Sheet1"); //by sheet name
// Remove a worksheet by its name
wb.RemoveWorkSheet("Sheet1"); //by sheet name
' Remove a worksheet by its name
wb.RemoveWorkSheet("Sheet1") 'by sheet name
$vbLabelText   $csharpLabel

IronXL zawiera wiele innych funkcji umożliwiających łatwe wykonywanie wszelkiego rodzaju edycji i usuwania w programie Excel SpreadSheets. Eksploruj dodatkowe funkcje jak tworzenie wykresów Excel, stosowanie formatowania warunkówego czy praca z formułami. Skontaktuj się z naszym zespołem deweloperskim z wszelkimi pytaniami dotyczącymi używania IronXL w Twoim projekcie.


Szybki dostęp do biblioteki

Dokumentacja biblioteki IronXL

Eksploruj pełne możliwości biblioteki IronXL C# z różnorodnymi funkcjami do edycji, usuwania, stylizacji i doskonalenia swoich skoroszytów Excel.

Dokumentacja biblioteki IronXL
Documentation related to Jak usunąć arkusz roboczy z pliku Excel?

Często Zadawane Pytania

Jak edytowac pliki Excel w C# bez zainstalowanego Microsoft Office?

IronXL pozwala na edytowanie plików Excel w C# bez potrzeby instalacji Microsoft Office lub Excel Interop. Dziala jako niezależna biblioteka, można modyfikowac komorki, wiersze, kolumny i arkusze kalkulacyjne programowo, eliminujac zależności od Office i działajac na różnych platformach, w tym Linux i macOS.

Jaki jest najprostszy sposob na aktualizacje wartosci komorki w pliku Excel przy użyciu C#?

Za pomoca IronXL można zaktualizować wartosc komorki w kilku liniach kodu: IronXl.WorkBook.Load("file.xlsx").GetWorkSheet("Sheet1")["C3"].Value = "Hello IronXL"; następnie zapisać zeszyt roboczy. Podejscie to nie wymaga Excel Interop i zapewnia bezpośredni dostep do komorek.

Czy mogę programowo edytowac całe wiersze i kolumny w Excel?

Tak, IronXL wspiera edytowanie całego wiersza i kolumn z wartosciami statycznymi lub dynamicznymi. Możesz zmieniac całe wiersze z jedna wartoscia, wypełniać kolumny programowo lub aktualizowac wiersze z dynamicznymi danymi z różnych zrodel, jak bazy danych czy obliczenia.

Jak usunac wiersze lub arkusze z pliku Excel w C#?

IronXL oferuje proste metody do usuwania wierszy z arkuszy oraz calych arkuszy z plików Excel. Operacje te wykonywane sa programowo bez wymagania instalacji Excela, co jest idealne dla aplikacji po stronie serwera.

Czy możliwe jest znalezienie i zamiana wartosci w całym arkuszu Excel?

Tak, IronXL zawiera funkcjonalność do wyszukiwania i zamiany wartosci w arkuszach. Możesz programowo znalezc konkretne wartosci i zamienic je na nowe dane, podobnie jak natywna funkcjonalność wyszukiwania i zamiany Excela, ale zautomatyzowana przez kod C#.

Na jakich platformach działa biblioteka edycji Excela w C#?

IronXL wspiera wiele platform, w tym Windows, Linux i macOS, co czyni ja wszechstronna dla rozwoju miedzyplatformowego. Pozwala to na edytowanie plików Excel w aplikacjach C# bez wzgledu na środowisko wdrozeniowe.

Jak zaczac edytowac pliki Excel w C#?

Aby zaczac, pobierz i zainstaluj IronXL przez menedzera pakietow NuGet. Biblioteka jest darmowa do uzytku deweloperskiego. Po instalacji możesz natychmiast zaczac ladowanie plików Excel, modyfikowanie komorek i zapisywanie zmian przy użyciu prostego, intuicyjnego kodu.

Jakie sa zalety programowej edycji Excela w porownaniu z metodami manualnymi?

IronXL umożliwia programowa edycje Excela, co zmniejsza ilosc błędów ludzkich, automatyzuje powtarzalne zadania i pozwala na operacje masowe, ktore bylyby czasochlonne ręcznie. Eliminacja Excel Interop zmniejsza zlozonosc i zwieksza wydajność.

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 2,052,917 | Wersja: 2026.6 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.