Wie man Zellen mit IronXL kopiert

Kopieren von Zellen in C# mit IronXL

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

IronXL ermöglicht das Kopieren von Zellen, Bereichen, Zeilen oder Spalten in Excel-Arbeitsblättern mit einer einzigen Copy-Methode, die alle Formatierungen und Formatierungen beibehält, während Daten zwischen beliebigen Speicherorten oder Arbeitsblättern dupliziert werden.

Die Funktion "Zelle kopieren" dupliziert Zellinhalte und fügt sie in andere Zellen ein. Sie repliziert Daten, Formeln, Formatierungen und andere Attribute innerhalb des Arbeitsblatts. Whether creating spreadsheets from scratch or loading existing Excel files, the copy functionality is essential for efficient data manipulation.

als-Überschrift:2(Schnellstart: Eine Spalte oder einen Bereich in einer Zeile kopieren)

Kopieren ganzer Bereiche - einzelne Zellen, Zeilen, Spalten oder Blöcke - von einem Blatt in ein anderes mit einem einzigen Methodenaufruf. Die Funktion Kopieren behält das Styling und die Formatierung bei und macht die Automatisierung von Excel schnell und einfach.

Nuget IconLegen Sie jetzt mit NuGet los, um PDFs zu erstellen:

  1. Installieren Sie IronXL mit dem NuGet-Paketmanager.

    PM > Install-Package IronXL.Excel

  2. Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.

    workSheet.GetColumn(0).Copy(workBook.GetWorkSheet("Sheet1"), "H1");
  3. Bereitstellen zum Testen in Ihrer Live-Umgebung

    Beginnen Sie noch heute mit der Nutzung von IronXL in Ihrem Projekt – mit einer kostenlosen Testversion.
    arrow pointer


Wie kann ich eine einzelne Zelle in Excel kopieren?

Um den Inhalt einer ausgewählten Zelle zu kopieren, verwenden Sie die Methode Copy. Übergeben Sie das Arbeitsblattobjekt als ersten Parameter und die Startposition als zweiten Parameter. The Copy method retains all styling including font and size, background patterns and colors, and borders and alignment.

:path=/static-assets/excel/content-code-examples/how-to/copy-cells-copy-single-cell.cs
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");
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");
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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Welche Formatierung wird beim Kopieren beibehalten?

Die Copy-Methode behält alle Zelleigenschaften bei, einschließlich:

  • Zellen Werte und Formeln
  • Zahlenformate (Währung, Prozent, Datum)
  • Schriftgestaltung (Schriftart, Größe, Fettdruck, Kursivdruck, Farbe)
  • Zellränder und Hintergrundfarben
  • Textausrichtung (horizontal und vertikal)
  • Einstellungen für den Zellschutz

Diese umfassende Bewahrung stellt sicher, dass kopierte Zellen ihr ursprüngliches Aussehen und ihre Funktionalität behalten, ähnlich wie bei der Verwendung von Strg+C und Strg+V in Microsoft Excel.

Tabellenkalkulation mit ausgewählter Zelle A1 und einem Pfeil, der auf die Zelle B3 zeigt, die den kopierten Wert enthält, zur Veranschaulichung der Einzelzellenkopie

Warum benötigt die Copy-Methode zwei Parameter?

Die Copy-Methode erfordert zwei Parameter zur genauen Steuerung:

  1. Arbeitsblatt-Parameter: Gibt das Ziel-Arbeitsblatt an (dasselbe oder ein anderes innerhalb der Arbeitsmappe)
  2. Adressparameter: Definiert die Startposition der Zelle für den eingefügten Inhalt

Dieses Design ermöglicht flexibles Kopieren innerhalb desselben Blattes oder zwischen verschiedenen Blättern, ideal für die Erstellung von zusammenfassenden Berichten oder die Konsolidierung von Daten aus mehreren Quellen.

Wann sollte ich Einzelzellenkopie vs. Bereichskopie verwenden?

Wählen Sie eine einzellige Kopie, wenn:

  • Duplizieren einzelner Werte oder Formeln
  • Kopieren von Kopfzellen oder Beschriftungen
  • Replizieren bestimmter berechneter Ergebnisse
  • Arbeiten mit Summenwerten

Verwenden Sie Range Copy, wenn:

  • Verschieben ganzer Datentabellen
  • Duplizieren mehrerer verwandter Zellen
  • Kopieren ganzer Zeilen oder Spalten
  • Beibehaltung der Datenbeziehungen

Wie kann ich mehrere Zellen oder Bereiche kopieren?

Like the Clear method, Copy is available in the Range class, allowing execution on any range size. When selecting ranges, IronXL provides flexible copying options:

  • Kopieren Sie eine einzelne Zelle (C10):

    workSheet["C10"].Copy(workBook.GetWorkSheet("Sheet1"), "B13");
    workSheet["C10"].Copy(workBook.GetWorkSheet("Sheet1"), "B13");
    workSheet("C10").Copy(workBook.GetWorkSheet("Sheet1"), "B13")
    $vbLabelText   $csharpLabel
  • Kopieren Sie eine Spalte (A):

    workSheet.GetColumn(0).Copy(workBook.GetWorkSheet("Sheet1"), "H1");
    workSheet.GetColumn(0).Copy(workBook.GetWorkSheet("Sheet1"), "H1");
    workSheet.GetColumn(0).Copy(workBook.GetWorkSheet("Sheet1"), "H1")
    $vbLabelText   $csharpLabel
  • Kopieren Sie eine Zeile (4):

    workSheet.GetRow(3).Copy(workBook.GetWorkSheet("Sheet1"), "A15");
    workSheet.GetRow(3).Copy(workBook.GetWorkSheet("Sheet1"), "A15");
    workSheet.GetRow(3).Copy(workBook.GetWorkSheet("Sheet1"), "A15")
    $vbLabelText   $csharpLabel
  • Kopiere einen zweidimensionalen Bereich (D6:F8):

    workSheet["D6:F8"].Copy(workBook.GetWorkSheet("Sheet1"), "H17");
    workSheet["D6:F8"].Copy(workBook.GetWorkSheet("Sheet1"), "H17");
    workSheet("D6:F8").Copy(workBook.GetWorkSheet("Sheet1"), "H17")
    $vbLabelText   $csharpLabel

Hinweis:Der zweite Parameter akzeptiert einen Adressort, der den Startpunkt der Dateneingabe markiert. Die kopierten Daten werden an dieser Adresse beginnen und sich nach rechts und unten ausbreiten

:path=/static-assets/excel/content-code-examples/how-to/copy-cells-copy-cell-range.cs
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");
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");
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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Was passiert, wenn der Zielbereich zu klein ist?

IronXL gleicht Größenunterschiede automatisch aus:

  • Der Zielparameter gibt nur die linke obere Startzelle an
  • Der gesamte Quellbereich wird unabhängig von der Zielgröße kopiert
  • Vorhandene Daten im Zielbereich werden überschrieben
  • Der Kopiervorgang wird erweitert, um alle Quelldaten aufzunehmen

Das Kopieren eines 3x3-Bereichs in die Zelle B1 füllt zum Beispiel die Zellen B1:D3 und überschreibt dabei alle vorhandenen Inhalte.

Wie funktionieren Zeilen- und Spaltenverweise?

IronXL verwendet die nullbasierte Indizierung für Zeilen und Spalten mit den Methoden GetRow() und GetColumn():

  • GetColumn(0) bezieht sich auf Spalte A
  • GetColumn(1) bezieht sich auf Spalte B
  • GetRow(0) bezieht sich auf Zeile 1
  • GetRow(3) bezieht sich auf Zeile 4

Diese Indizierung entspricht den Standard-C#-Array-Konventionen.

Warum die Methoden GetColumn() und GetRow() verwenden?

GetColumn() und GetRow() Methoden bieten:

  • Leistung: Effizienter für ganze Zeilen oder Spalten
  • Klarheit: Macht die Absicht des Codes klarer
  • Flexibel: Gibt ein Range-Objekt zurück, das alle Bereichsoperationen unterstützt
  • Bequemlichkeit: Keine Notwendigkeit, Endzellen für vollständige Auswahlen zu berechnen

Diese Methoden eignen sich hervorragend für die Erstellung von Berichten, die vollständige Spaltenkopien erfordern, oder für das Duplizieren von Zeilenvorlagen.

Excel-Kopiervorgänge mit Pfeilen von den Quellbereichen A1:F10 zu den Zielzellen mit hervorgehobenen kopierten Daten

Wie kann ich Zellen zwischen verschiedenen Arbeitsblättern kopieren?

Der erste Parameter akzeptiert ein Arbeitsblatt-Objekt, das das Kopieren und Einfügen auf verschiedenen Arbeitsblättern ermöglicht. Übergeben Sie ein anderes Arbeitsblattobjekt als ersten Parameter. This functionality proves essential when managing multiple worksheets or creating summary sheets from detailed data.

[{i:(Im folgenden Beispiel ist der erste Parameter der Methode Copy das Arbeitsblatt "Sheet2": workBook.GetWorksheet("Sheet2")