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-Tabellen mithilfe einer einzigen Methode Copy, die die gesamte Formatierung und den Stil beibehält und gleichzeitig Daten zwischen beliebigen Orten oder Arbeitsblättern dupliziert.

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.

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 Copy erhält Stil und Formatierung und macht die Excel-Automatisierung schnell und einfach.

  1. Installieren Sie IronXL mit NuGet Package Manager

    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, IronXL in Ihrem Projekt zu verwenden, 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");
$vbLabelText   $csharpLabel

Welche Formatierung wird beim Kopieren beibehalten?

Die Methode Copy erhält alle Zelleneigenschaften, einschließlich:

  • Cell 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, um das Kopieren einer einzelnen Zelle zu demonstrieren

Warum benötigt die Copy-Methode zwei Parameter?

Die Copy Methode benötigt zwei Parameter für eine präzise 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:

  • Kopiere eine einzelne Zelle (C10) :

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

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

    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");
    $vbLabelText   $csharpLabel

Hinweis:Der zweite Parameter gibt die Adresse für den Startpunkt der Dateneinträge an.
Zellbereich kopieren )}]

: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");
$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

Wenn man beispielsweise einen 3x3-Bereich in die Zelle B1 kopiert, werden die Zellen B1:D3 gefüllt, wobei alle vorhandenen Inhalte überschrieben werden.

Wie funktionieren Zeilen- und Spaltenverweise?

IronXL verwendet 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?

Die Methoden GetColumn() und GetRow() bieten:

  • Leistung: Effizienter für ganze Zeilen oder Spalten
  • Klarheit: Macht die Absicht des Codes klarer
  • Flexibilität: 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 markierten 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.

Hinweis:Im folgenden Beispiel ist der erste Parameter der Copy-Methode das Arbeitsblatt "Sheet2": workBook.GetWorksheet("Sheet2")

:path=/static-assets/excel/content-code-examples/how-to/copy-cells-copy-to-other-worksheet.cs
using IronXL;

WorkBook workBook = WorkBook.Load("multisheet.xlsx");
WorkSheet sheet1 = workBook.GetWorkSheet("Sheet1");
WorkSheet sheet2 = workBook.GetWorkSheet("Sheet2");

// Copy entire data range from Sheet1 to Sheet2
sheet1["A1:D10"].Copy(sheet2, "A1");

// Copy with formulas intact
sheet1["E1:E10"].Copy(sheet2, "F1");

// Copy formatting from template sheet
WorkSheet templateSheet = workBook.GetWorkSheet("Template");
templateSheet["A1:Z1"].Copy(sheet2, "A15");

workBook.SaveAs("crossSheetCopy.xlsx");
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");
using IronXL;

WorkBook workBook = WorkBook.Load("multisheet.xlsx");
WorkSheet sheet1 = workBook.GetWorkSheet("Sheet1");
WorkSheet sheet2 = workBook.GetWorkSheet("Sheet2");

// Copy entire data range from Sheet1 to Sheet2
sheet1["A1:D10"].Copy(sheet2, "A1");

// Copy with formulas intact
sheet1["E1:E10"].Copy(sheet2, "F1");

// Copy formatting from template sheet
WorkSheet templateSheet = workBook.GetWorkSheet("Template");
templateSheet["A1:Z1"].Copy(sheet2, "A15");

workBook.SaveAs("crossSheetCopy.xlsx");
$vbLabelText   $csharpLabel

Was sind häufige arbeitsblattübergreifende Kopierszenarien?

Arbeitsblattübergreifendes Kopieren dient häufig diesen Szenarien:

  1. Erstellen von Übersichtsblättern: Kopieren von Schlüsselmetriken aus Detailblättern in Dashboards
  2. Vorlagenreplikation: Kopieren von formatierten Vorlagen auf neue Arbeitsblätter
  3. Datenkonsolidierung: Sammeln von Daten aus Abteilungsblättern in Masterblättern
  4. Berichterstellung: Kopieren gefilterter Ergebnisse in separate Arbeitsblätter für Berichte
  5. Backup-Vorgänge: Kritische Daten in Sicherungsblätter duplizieren

When working with formulas that reference other cells, IronXL automatically adjusts relative references based on the new location while maintaining absolute references.

Wann sollte ich auf ein neues Arbeitsblatt kopieren und wann auf ein bestehendes?

Kopieren Sie in ein neues Arbeitsblatt, wenn:

  • Erstellung regelmäßiger Berichte (täglich, wöchentlich, monatlich)
  • Isolierung verarbeiteter Daten von Rohdaten
  • Erstellen von Analyse-Arbeitsblättern aus Quelldaten
  • Generierung von benutzerspezifischen Datenansichten

Kopieren Sie in ein bestehendes Arbeitsblatt, wenn:

  • Anhängen von Daten an laufende Protokolle
  • Aktualisierung von Dashboard-Abschnitten
  • Konsolidierung mehrerer Datenquellen
  • Pflege der historischen Aufzeichnungen

For complex scenarios involving multiple sheets, consider using IronXL's ability to work with DataSets and DataTables for sophisticated data manipulation.

Wie behandelt man Arbeitsblatt-Namenskonflikte?

Achten Sie beim Kopieren zwischen Arbeitsblättern auf eine korrekte Arbeitsblattverwaltung:

// 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");
// 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");
$vbLabelText   $csharpLabel

Dieser Ansatz verhindert Laufzeitfehler und gewährleistet erfolgreiche Kopiervorgänge, was besonders wichtig ist, wenn Excel-Prozesse in Produktionsumgebungen automatisiert werden.

Häufig gestellte Fragen

Wie kopiere ich eine einzelne Zelle in Excel mit C#?

Mit IronXL können Sie eine einzelne Zelle mit der Kopiermethode kopieren. Wählen Sie einfach die Zelle aus, die Sie kopieren möchten (z. B. workSheet["A1"]) und rufen Sie die Copy-Methode auf, wobei Sie das Zielarbeitsblatt und die Adresse der Zielzelle als Parameter übergeben. IronXL behält während des Kopiervorgangs alle Formatierungen wie Schriftarten, Farben, Rahmen und Formeln bei.

Welche Formatierung wird beim Kopieren von Zellen beibehalten?

Bei der Kopiermethode von IronXL bleiben alle Zelleigenschaften erhalten, einschließlich Zellwerte und Formeln, Zahlenformate (Währung, Prozentsatz, Datum), Schriftart (Schriftart, Größe, fett, kursiv, Farbe), Zellränder und Hintergrundfarben, Textausrichtung (horizontal und vertikal) und Zellschutzeinstellungen. Dadurch wird sichergestellt, dass kopierte Zellen ihr ursprüngliches Aussehen und ihre Funktionalität behalten.

Kann ich ganze Spalten oder Bereiche auf einmal kopieren?

Ja, IronXL ermöglicht es Ihnen, ganze Spalten, Zeilen oder Bereiche in einem einzigen Vorgang zu kopieren. Sie können Methoden wie GetColumn(0).Copy() verwenden, um eine ganze Spalte zu kopieren, oder einen Bereich von Zellen auswählen, um mehrere Zellen auf einmal zu kopieren. Die Copy-Methode funktioniert mit jeder Auswahlgröße, von einzelnen Zellen bis zu ganzen Arbeitsblättern.

Wie kann ich Zellen zwischen verschiedenen Arbeitsblättern kopieren?

IronXL macht es einfach, Zellen zwischen Arbeitsblättern zu kopieren. Wenn Sie die Copy-Methode verwenden, geben Sie das Zielarbeitsblatt als ersten Parameter an (z. B. workBook.GetWorkSheet("Sheet2")) und die Adresse der Zielzelle als zweiten Parameter. Auf diese Weise können Sie Daten zwischen verschiedenen Arbeitsblättern innerhalb derselben Arbeitsmappe kopieren.

Was sind die Mindestschritte, die zum Kopieren von Zellen in Excel erforderlich sind?

Mit IronXL erfordert das Kopieren von Zellen nur 5 Schritte: 1) Laden Sie die IronXl.C#-Bibliothek herunter, 2) Laden Sie Ihr bestehendes Excel-Arbeitsblatt, 3) Wählen Sie den Bereich, die Zeile oder die Spalte aus, die Sie kopieren möchten, 4) Rufen Sie die Copy-Methode für den ausgewählten Bereich auf, und 5) Übergeben Sie der Copy-Methode ein Zielarbeitsblatt und eine Position. Der gesamte Vorgang kann in einer einzigen Codezeile ausgeführt werden.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen
Bereit anzufangen?
Nuget Downloads 1,913,565 | Version: 2026.3 gerade veröffentlicht
Still Scrolling Icon

Scrollst du immer noch?

Sie brauchen schnell einen Beweis? PM > Install-Package IronXL.Excel
Führen Sie ein Beispiel aus und sehen Sie zu, wie Ihre Daten zu einer Tabellenkalkulation werden.