Kopieren von Zeilen und Spalten

Einführung

Manchmal müssen Sie Zeilen und Spalten in einem Arbeitsblatt kopieren, ohne das gesamte Arbeitsblatt zu kopieren. Mit Aspose.Cells ist es möglich, Zeilen und Spalten innerhalb oder zwischen Arbeitsmappen zu kopieren. Wenn eine Zeile (oder Spalte) kopiert wird, werden auch die darin enthaltenen Daten, einschließlich Formeln - mit aktualisierten Verweisen - und Werten, Kommentare, Formatierungen, versteckte Zellen, Bilder und andere Zeichenobjekte ebenfalls kopiert.

Wie man Zeilen und Spalten mit Microsoft Excel kopiert

  1. Wählen Sie die zu kopierende Zeile oder Spalte aus.
  2. Zum Kopieren von Zeilen oder Spalten klicken Sie auf Kopieren in der Standard-Symbolleiste oder drücken Sie STRG+C.
  3. Wählen Sie eine Zeile oder Spalte unterhalb oder rechts von der Position aus, an der Sie Ihre Auswahl kopieren möchten.
  4. Beim Kopieren von Zeilen oder Spalten klicken Sie auf Kopierte Zellen im Einfügen-Menü.

Wie man Zeilen und Spalten mit Paste-Optionen mit Microsoft Excel einfügt

  1. Wählen Sie die Zellen aus, die die Daten oder andere Attribute enthalten, die Sie kopieren möchten.
  2. Klicken Sie auf der Registerkarte Start auf Kopieren.
  3. Klicken Sie auf die erste Zelle im Bereich, in dem Sie das, was Sie kopiert haben, einfügen möchten.
  4. Klicken Sie auf der Registerkarte Start auf den Pfeil neben Einfügen, und wählen Sie dann Inhalt einfügen aus.
  5. Wählen Sie die Optionen, die Sie möchten.

Wie man Zeilen und Spalten mit der Verwendung von Aspose.Cells for .NET kopiert

Wie man einzelne Zeilen kopiert

Aspose.Cells bietet die CopyRow Methode der Cells Klasse an. Diese Methode kopiert alle Arten von Daten, einschließlich Formeln, Werten, Kommentaren, Zellformatierungen, versteckten Zellen, Bildern und anderen Zeichenobjekten von der Quellzeile zur Zielzeile.

Die Methode CopyRow akzeptiert die folgenden Parameter:

  • das Quell-Cells-Objekt,
  • den Index der Quellzeile, und
  • den Index der Zielzeile.

Verwenden Sie diese Methode zum Kopieren einer Zeile innerhalb eines Blatts oder zu einem anderen Blatt. Die Methode CopyRow funktioniert ähnlich wie Microsoft Excel. Sie müssen beispielsweise nicht explizit die Höhe der Zielzeile festlegen, dieser Wert wird ebenfalls kopiert.

Das folgende Beispiel zeigt, wie eine Zeile in einem Arbeitsblatt kopiert wird. Es wird eine Vorlagen-Excel-Datei verwendet, und die zweite Zeile (vollständig mit Daten, Formatierung, Kommentaren, Bildern usw.) wird in die 12. Zeile im selben Arbeitsblatt eingefügt.

Sie können den Schritt überspringen, der die Höhe der Quellzeile mit der Methode Cells.GetRowHeight ermittelt und dann mit der Methode Cells.SetRowHeight die Höhe der Zielzeile festlegt, da die Methode CopyRow automatisch die Zeilenhöhe übernimmt.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Open the existing excel file.
Workbook excelWorkbook1 = new Workbook(dataDir + "book1.xls");
// Get the first worksheet in the workbook.
Worksheet wsTemplate = excelWorkbook1.Worksheets[0];
// Copy the second row with data, formattings, images and drawing objects
// To the 16th row in the worksheet.
wsTemplate.Cells.CopyRow(wsTemplate.Cells, 1, 15);
// Save the excel file.
excelWorkbook1.Save(dataDir + "output.xls");

Wie man Mehrere Zeilen kopiert

Sie können auch mehrere Zeilen auf ein neues Ziel kopieren, während die Methode Cells.CopyRows, die einen zusätzlichen Parameter vom Typ Ganzzahl akzeptiert, verwendet wird, um die Anzahl der zu kopierenden Quellzeilen anzugeben.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Create an instance of Workbook class by loading the existing spreadsheet
Workbook workbook = new Workbook(dataDir + "aspose-sample.xlsx");
// Get the cells collection of worksheet by name Rows
Cells cells = workbook.Worksheets["Rows"].Cells;
// Copy the first 3 rows to 7th row
cells.CopyRows(cells, 0, 6, 3);
// Save the result on disc
workbook.Save(dataDir + "output_out.xlsx");

Wie man Spalten kopiert

Aspose.Cells bietet die Methode CopyColumn der Klasse Cells, diese Methode kopiert alle Arten von Daten, einschließlich Formeln - mit aktualisierten Referenzen - und Werten, Kommentaren, Zellformaten, versteckten Zellen, Bildern und anderen Zeichenobjekten von der Quellspalte in die Zielspalte.

Die Methode CopyColumn akzeptiert die folgenden Parameter:

  • das Quell-Cells-Objekt,
  • Quellspaltenindex, und
  • der Zielspaltenindex.

Verwenden Sie die Methode CopyColumn, um eine Spalte innerhalb eines Blatts oder zu einem anderen Blatt zu kopieren.

Dieses Beispiel kopiert eine Spalte aus einem Arbeitsblatt und fügt sie in ein Arbeitsblatt in einer anderen Arbeitsmappe ein.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Create another Workbook.
Workbook excelWorkbook1 = new Workbook(dataDir + "book1.xls");
// Get the first worksheet in the book.
Worksheet ws1 = excelWorkbook1.Worksheets[0];
// Copy the first column from the first worksheet of the first workbook into
// The first worksheet of the second workbook.
ws1.Cells.CopyColumn(ws1.Cells, ws1.Cells.Columns[0].Index, ws1.Cells.Columns[2].Index);
// Autofit the column.
ws1.AutoFitColumn(2);
// Save the excel file.
excelWorkbook1.Save(dataDir + "output.xls");

Wie man mehrere Spalten kopiert

Ähnlich wie die Cells.CopyRows-Methode bieten die Aspose.Cells-APIs auch die Cells.CopyColumns-Methode, um mehrere Quellspalten an eine neue Position zu kopieren.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Create an instance of Workbook class by loading the existing spreadsheet
Workbook workbook = new Workbook(dataDir + "aspose-sample.xlsx");
// Get the cells collection of worksheet by name Columns
Cells cells = workbook.Worksheets["Columns"].Cells;
// Copy the first 3 columns 7th column
cells.CopyColumns(cells, 0, 6, 3);
// Save the result on disc
workbook.Save(dataDir + "output_out.xlsx");

Wie man Zeilen und Spalten mit Einfügeoptionen einfügt

Aspose.Cells bietet jetzt PasteOptions bei Verwendung der Funktionen CopyRows und CopyColumns. Es ermöglicht, ähnlich wie in Excel, die geeignete Einfügeoption festzulegen.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
//Source directory
string sourceDir = RunExamples.Get_SourceDirectory();
//Output directory
string outputDir = RunExamples.Get_OutputDirectory();
// Load sample excel file
Workbook wb = new Workbook(sourceDir + "sampleChangeChartDataSource.xlsx");
// Access the first sheet which contains chart
Worksheet source = wb.Worksheets[0];
// Add another sheet named DestSheet
Worksheet destination = wb.Worksheets.Add("DestSheet");
// Set CopyOptions.ReferToDestinationSheet to true
CopyOptions options = new CopyOptions();
options.ReferToDestinationSheet = true;
// Set PasteOptions
PasteOptions pasteOptions = new PasteOptions();
pasteOptions.PasteType = PasteType.Values;
pasteOptions.OnlyVisibleCells = true;
// Copy all the rows of source worksheet to destination worksheet which includes chart as well
// The chart data source will now refer to DestSheet
destination.Cells.CopyRows(source.Cells, 0, 0, source.Cells.MaxDisplayRange.RowCount, options, pasteOptions);
// Save workbook in xlsx format
wb.Save(outputDir + "outputChangeChartDataSource.xlsx", SaveFormat.Xlsx);