IRONSOFTWAREHOME

Jak kopiować komórki w języku C# za pomocą IronXL

Curtis Chau
Curtis Chau
Updated: 4 czerwca 2026

IronXL umożliwia kopiowanie komórek, zakresów, wierszy lub kolumn w arkuszach kalkulacyjnych Excel przy użyciu jedynej metody Copy, która zachowuje wszystkie formatowanie i stylizowanie przy jednoczesnym duplikowaniu danych pomiędzy dowolnymi lokalizacjami lub arkuszami.

Funkcja "Kopiuj komórkę" powiela zawartość komórki i wkleja ją do innych komórek. Replikuje dane, formuły, formatowanie i inne atrybuty w arkuszu. Niezależnie od tego, czy tworzysz arkusze kalkulacyjne od podstaw, czy wczytujesz istniejące pliki Excel, funkcja kopiowania jest niezbędna do wydajnej manipulacji danymi.

Szybki start: Kopiowanie kolumny lub zakresu w jednym wierszu

Kopiuj całe zakresy — pojedyncze komórki, wiersze, kolumny lub bloki — z jednego arkusza do drugiego za pomocą jednego wywołania metody. Funkcja Copy zachowuje stylizowanie i formatowanie, czyniąc automatyzację Excel szybka i prostą.

  1. 1Install IronXL with NuGet Package Manager

    PM > Install-Package IronXL.Excel

  2. 2Skopiuj i uruchom ten fragment kodu.

    workSheet.GetColumn(0).Copy(workBook.GetWorkSheet("Sheet1"), "H1");
  3. 3Wdrożenie do testowania w środowisku produkcyjnym

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

Jak skopiować pojedynczą komórkę w programie Excel?

Aby skopiować zawartość wybranej komórki, użyj metody Copy. Przekaż obiekt arkusza jako pierwszy parametr, a pozycję początkową jako drugi parametr. Metoda Copy zachowuje całą stylizację, w tym czcionkę i rozmiar, wzory tła i kolory, oraz obramowania i wyrównania.

using IronXL;

WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

// Copy cell content
workSheet["A1"].Copy(workBook.GetWorkSheet("Sheet1"), "B3");

workBook.SaveAs("copySingleCell.xlsx");

Jakie formatowanie jest zachowywane podczas kopiowania?

Metoda Copy zachowuje wszystkie właściwości komórek, w tym:

  • Cell wartości i formuły
  • Formaty liczb (waluta, procenty, daty)
  • Styl czcionki (krój, rozmiar, pogrubienie, kursywa, kolor)
  • Obramowania komórek i kolory tła
  • Wyrównanie tekstu (poziome i pionowe)
  • Ustawienia ochrony komórek

Ta kompleksowa ochrona gwarantuje, że skopiowane komórki zachowują swój pierwotny wygląd i funkcjonalność, podobnie jak przy użyciu skrótów klawiszowych Ctrl+C i Ctrl+V w programie Microsoft Excel.

Arkusz kalkulacyjny pokazujący zaznaczoną komórkę A1 ze strzałką wskazującą komórkę B3 zawierającą skopiowaną wartość, demonstrujący kopiowanie pojedynczej komórki

Dlaczego metoda Copy przyjmuje dwa parametry?

Metoda Copy wymaga dwóch parametrów dla precyzyjnej kontroli:

  1. Parametr arkusza: Okresla docelowy arkusz (w tym samym lub innym w ksiazce)
  2. Parametr adresu: Okresla poczatkowa pozycje komorki dla wklejanej zawartosci

Taki układ pozwala na elastyczne kopiowanie w obrębie tego samego arkusza lub między różnymi arkuszami, co idealnie nadaje się do tworzenia raportów podsumowujących lub konsolidacji danych z wielu źródeł.

Kiedy należy używać kopiowania pojedynczej komórki, a kiedy kopiowania zakresu?

Wybierz opcję kopiowania pojedynczej komórki, gdy:

  • Duplikowanie indywidualnych wartosci lub formuł
  • Kopiowanie komorek naglowkowych lub etykiet
  • Replikowanie okreslonych wynikow obliczen
  • Praca z wartosciami podsumowania

Użyj stylu "range copy", gdy:

  • Przenoszenie calych tabel danych
  • Duplikowanie wielu powiazanych komorek
  • Kopiowanie kompletnych wierszy lub kolumn
  • Zachowanie relacji między danymi

Jak skopiować wiele komórek lub zakresów?

Podobnie jak metoda Clear, Copy jest dostępna w klasie Range, pozwalając na wykonanie na dowolnym rozmiarze zakresu. Podczas wybierania zakresów, IronXL zapewnia elastyczne opcje kopiowania:

  • Skopiuj pojedynczą komórkę (C10):

    workSheet["C10"].Copy(workBook.GetWorkSheet("Sheet1"), "B13");
  • Skopiuj kolumnę (A):

    workSheet.GetColumn(0).Copy(workBook.GetWorkSheet("Sheet1"), "H1");
  • Skopiuj wiersz (4):

    workSheet.GetRow(3).Copy(workBook.GetWorkSheet("Sheet1"), "A15");
  • Skopiuj dwuwymiarowy zakres (D6:F8):

    workSheet["D6:F8"].Copy(workBook.GetWorkSheet("Sheet1"), "H17");
Zwróć uwagę: Drugi parametr przyjmuje adres lokalizacji, który wyznacza punkt początkowy wprowadzania danych. Skopiowane dane będą zaczynać się od tego adresu i rozciągać się w prawo i w dół.
using IronXL;

WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

// Copy a single cell(C10)
workSheet["C10"].Copy(workBook.GetWorkSheet("Sheet1"), "B13");

// Copy a column(A)
workSheet.GetColumn(0).Copy(workBook.GetWorkSheet("Sheet1"), "H1");

// Copy a row(4)
workSheet.GetRow(3).Copy(workBook.GetWorkSheet("Sheet1"), "A15");

// Copy a two-dimensional range(D6:F8)
workSheet["D6:F8"].Copy(workBook.GetWorkSheet("Sheet1"), "H17");

workBook.SaveAs("copyCellRange.xlsx");

Co się dzieje, gdy zakres docelowy jest zbyt mały?

IronXL automatycznie radzi sobie z różnicami w rozmiarze:

  • Parametr docelowy okresla tylko lewa-gora poczatkowa komorke
  • Caly zakres zrodlowy kopiowany jest niezaleznie od rozmiaru docelowego
  • Istniejace dane w obszarze docelowym zostaja nadpisane
  • Opera size kopii rozszerza sie, aby pomiescic wszystkie zrodlowe dane

Na przykład, kopiowanie zakresu 3x3 do komórki B1 wypełnia komórki B1:D3, nadpisując jakąkolwiek istniejącą zawartość.

Jak działają odwołania do wierszy i kolumn?

IronXL używa indeksacji zaczynającej od zera dla wierszy i kolumn z metodami GetRow() oraz GetColumn():

  • GetColumn(0) odnosi się do kolumny A
  • GetColumn(1) odnosi się do kolumny B
  • GetRow(0) odnosi się do wiersza 1
  • GetRow(3) odnosi się do wiersza 4

Indeksowanie jest zgodne ze standardowymi konwencjami dotyczącymi tablic w języku C#.

Dlaczego używać metod GetColumn() i GetRow()?

Metody GetColumn() i GetRow() oferują:

  • Wydajnosc: Bardziej wydajne dla calych wierszy lub kolumn
  • Jasnosc: Czynią intencje kodu bardziej przejrzysta
  • Elastyczność: Zwracają obiekt Range wspierający wszystkie operacje zakresowe
  • Wygoda: Nie ma potrzeby obliczania koncowych komorek dla pelnych wyborow

Metody te sprawdzają się doskonale podczas tworzenia raportów wymagających pełnego kopiowania kolumn lub podczas powielania szablonów wierszy.

Operacje kopiowania w Excelu pokazujące strzałki od zakresów źródłowych A1:F10 do komórek docelowych z podświetlonymi skopiowanymi danymi

Jak skopiować komórki między różnymi arkuszami?

Pierwszy parametr przyjmuje obiekt arkusza, umożliwiając kopiowanie i wklejanie między różnymi arkuszami. Przekaż inny obiekt arkusza jako pierwszy parametr. Ta funkcja okazuje się niezbędna podczas zarządzania wieloma arkuszami lub tworzenia arkuszy podsumowujących na podstawie szczegółowych danych.

Zwróć uwagę: W poniższym przykładzie pierwszy parametr metody Kopiuj to arkusz roboczy "Sheet2": workBook.GetWorksheet("Sheet2")
using IronXL;

WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

// Copy cell content
workSheet["A1"].Copy(workBook.GetWorkSheet("Sheet2"), "B3");

workBook.SaveAs("copyAcrossWorksheet.xlsx");

Jakie są typowe scenariusze kopiowania między arkuszami?

Kopiowanie między arkuszami często służy w następujących sytuacjach:

  1. Tworzenie arkuszy podsumowujacych: Kopiowanie kluczowych metryk z arkuszy szczegolowych do desek rozdzielczych
  2. Replikacja szablonow: Kopiowanie sformatowanych szablonow do nowych arkuszy
  3. Konsolidacja danych: Gromadzenie danych z arkuszy dzialow w arkuszach glownych
  4. Generowanie raportow: Kopiowanie filtrowanych wynikow do oddzielnych arkuszy raportowych
  5. Operacje kopii zapasowej: Duplikowanie kluczowych danych do arkuszy kopii zapasowych

Podczas pracy z formułami odwołującymi się do innych komórek IronXL automatycznie dostosowuje odwołania względne w oparciu o nową lokalizację, zachowując jednocześnie odwołania bezwzględne.

Kiedy należy skopiować do nowego arkusza, a kiedy do istniejącego?

Skopiuj do nowego arkusza, gdy:

  • Tworzenie okresowych raportow (codziennie, tygodniowo, miesiecznie)
  • Izolowanie przetworzonych danych od surowych danych
  • Budowanie arkuszy analizy na bazie danych zrodlowych
  • Generowanie danych widokow uzytkownika

Skopiuj do istniejącego arkusza, gdy:

  • Dołączanie danych do ciaglych logow
  • Aktualizowanie sekcji pulpitow
  • Konsolidacja wielu zrodel danych
  • Utrzymywanie zapisow historycznych

W przypadku złożonych scenariuszy obejmujących wiele arkuszy warto rozważyć wykorzystanie możliwości IronXL do pracy z zestawami danych (DataSets) i tabelami danych (DataTables) w celu zaawansowanej manipulacji danymi.

Jak radzić sobie z konfliktami nazw arkuszy?

Zapewnij prawidłowe zarządzanie arkuszami podczas kopiowania między arkuszami:

// Check if worksheet exists before copying
if (workBook.GetWorkSheet("TargetSheet") == null)
{
    workBook.CreateWorkSheet("TargetSheet");
}

// Safe copy operation
WorkSheet targetSheet = workBook.GetWorkSheet("TargetSheet");
sourceSheet["A1:Z100"].Copy(targetSheet, "A1");

Takie podejście zapobiega błędom wykonawczym i zapewnia pomyślne operacje kopiowania, co jest szczególnie ważne podczas automatyzacji procesów Excel w środowiskach produkcyjnych.

Często Zadawane Pytania

Jak skopiować pojedynczą komórkę w Excel za pomocą C#?

Za pomocą IronXL można skopiować pojedynczą komórkę używając metody Copy. Wystarczy wybrać komórkę do skopiowania (np. workSheet["A1"]) i wywołać metodę Copy, przekazując docelowy arkusz i adres docelowej komórki jako parametry. IronXL zachowuje całe formatowanie, w tym czcionki, kolory, obramowania i formuły podczas operacji kopiowania.

Jakie formatowanie jest zachowywane przy kopiowaniu komórek?

Metoda Copy IronXL zachowuje wszystkie właściwości komórki, w tym wartości komórki i formuły, formaty liczbowe (waluty, procenty, daty), styl czcionki (krój, rozmiar, pogrubienie, kursywa, kolor), obramowania komórki i kolory tła, wyrównanie tekstu (pionowe i poziome) oraz ustawienia ochrony komórki. Dzięki temu skopiowane komórki zachowują swój oryginalny wygląd i funkcjonalność.

Czy mogę skopiować całe kolumny lub zakresy na raz?

Tak, IronXL pozwala na kopiowanie całych kolumn, wierszy lub zakresów w jednej operacji. Można użyć metod takich jak GetColumn(0).Copy() do kopiowania całej kolumny, lub wybrać zakres komórek, aby skopiować wiele komórek jednocześnie. Metoda Copy działa z dowolnym rozmiarem selekcji, od pojedynczych komórek po całe arkusze.

Jak skopiować komórki między różnymi arkuszami?

IronXL ułatwia kopiowanie komórek między arkuszami. Podczas korzystania z metody Copy, określ docelowy arkusz jako pierwszy parametr (np. workBook.GetWorkSheet("Sheet2")) i adres docelowej komórki jako drugi parametr. Pozwala to na kopiowanie danych między różnymi arkuszami w tym samym skoroszycie.

Jakie są minimalne kroki wymagane do skopiowania komórek w Excel?

Z IronXL kopiowanie komórek wymaga tylko 5 kroków: 1) Pobierz bibliotekę IronXL C#, 2) Załaduj istniejący arkusz Excel, 3) Wybierz zakres, wiersz lub kolumnę, które chcesz skopiować, 4) Wywołaj metodę Copy na wybranym zakresie, 5) Przekaż docelowy arkusz i pozycję do metody Copy. Cała operacja może być wykonana w jednej linii kodu.

What happens if the destination range is smaller than the source when copying cells with IronXL?

When the destination range is smaller, IronXL's `Copy` function still accommodates the full source range by overwriting any existing data in the destination area, expanding as needed to fit all copied data.

Why might I choose to copy to a new worksheet rather than an existing one?

Copying to a new worksheet is recommended for creating periodic reports, isolating processed data, building analysis sheets, and generating user-specific views. This ensures data separation and clarity in reporting.

How do row and column references work in IronXL?

IronXL uses zero-based indexing where `GetColumn(0)` refers to column A, and `GetRow(0)` refers to row 1. This aligns with C# array conventions, making it intuitive for developers familiar with standard C# practices.

What are common scenarios for cross-worksheet copying with IronXL?

Cross-worksheet copying in IronXL is commonly used for creating summary sheets, replicating templates to new sheets, consolidating data from multiple sources, generating reports, and performing backup operations of critical data.

How does IronXL handle worksheet naming conflicts during copy operations?

IronXL manages worksheet naming conflicts by allowing you to check for and create target sheets if they don't exist, ensuring safe copy operations without runtime errors, which is crucial for automating Excel processes.

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ęczników.

...
Czytaj więcej

Gotowy, aby rozpocząć?

Nuget Downloads 2,237,574Wersja:2026.9właśnie wydany

Odbierz swój BEZPŁATNY

30-dniowy klucz próbny natychmiast.

bullet_checkedNie wymaga karty kredytowej ani tworzenia konta
test_punktorówTestuj w produkcji
bez znaków wodnych
kalendarz_punktorów30 dni w pełni
funkcjonalny produkt
wsparcie_punktorów24/5 wsparcie techniczne
w trakcie okresu próbnego
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta
Biblioteka C# NuGet dla plików PDF
Zainstaluj za pomocą NuGet

Wersja: 2026.9

PM > Install-Package IronXL.Excel
nuget.org/packages/IronXL.Excel/
  1. W Eksploratorze Rozwiązań, kliknij prawym przyciskiem Myszy na Odwołania, Zarządzaj pakietami NuGet
  2. Wybierz Przeglądaj i wyszukaj "IronXL"
  3. Wybierz pakiet i zainstaluj
DLL PDF dla C#
Pobierz DLL

Wersja: 2026.9

  1. Pobierz i rozpakuj IronXL do lokalizacji, takie jak ~/Libs w katalogu rozwiązania
  2. W Eksploratorze Rozwiązań Visual Studio kliknij prawym przyciskiem Myszy na Odwołania, wybierz Przeglądaj, "IronXL.dll"

Licencje od $999

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Your trial license will be sent to your email address

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta