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 die darin enthaltenen Daten, einschließlich Formeln – mit aktualisierten Verweisen – und Werten, Kommentaren, Formatierungen, ausgeblendeten Zellen, Bildern und anderen Zeichnungsobjekten ebenfalls kopiert.

Kopieren von Zeilen und Spalten mit Microsoft Excel

  1. Wählen Sie die Zeile oder Spalte aus, die Sie kopieren möchten.
  2. Um Zeilen oder Spalten zu kopieren, klicken Sie aufKopieren auf derStandard Symbolleiste oder drücken SieSTRG+C.
  3. Wählen Sie eine Zeile oder Spalte unterhalb oder rechts neben der Stelle aus, an der Sie Ihre Auswahl kopieren möchten.
  4. Klicken Sie beim Kopieren von Zeilen oder Spalten aufKopiert Cells auf derEinfügung Speisekarte.

Einzelne Zeile kopieren

Aspose.Cells bietet diecopyRow Methode derCellsKlasse. Diese Methode kopiert alle Arten von Daten, einschließlich Formeln, Werte, Kommentare, Zellformate, ausgeblendete Zellen, Bilder und andere Zeichenobjekte aus der Quellzeile in die Zielzeile.

DascopyRow-Methode nimmt die folgenden Parameter an:

  • die QuelleCellsObjekt,
  • den Quellzeilenindex und
  • der Zielzeilenindex.

Verwenden Sie diese Methode, um eine Zeile innerhalb eines Blatts oder in ein anderes Blatt zu kopieren. DascopyRow funktioniert ähnlich wie Microsoft Excel. So müssen Sie beispielsweise die Höhe der Zielzeile nicht explizit festlegen, dieser Wert wird ebenfalls kopiert.

Das folgende Beispiel zeigt, wie Sie eine Zeile in einem Arbeitsblatt kopieren. Es verwendet eine Vorlage Microsoft Excel-Datei und kopiert die zweite Zeile (komplett mit Daten, Formatierung, Kommentaren, Bildern usw.) und fügt sie in die 12. Zeile im selben Arbeitsblatt ein.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(CopyingRows.class) + "rows_cloumns/";
// Create a new Workbook.
Workbook excelWorkbook = new Workbook(dataDir + "book1.xls");
// Get the first worksheet in the workbook.
Worksheet wsTemplate = excelWorkbook.getWorksheets().get(0);
// Copy the second row with data, formating, images and drawing objects to the 12th row in the worksheet.
wsTemplate.getCells().copyRow(wsTemplate.getCells(), 2, 10);
// Save the excel file.
excelWorkbook.save(dataDir + "CopyingRows_out.xls");
// Print message
System.out.println("Row and Column copied successfully.");

Die folgende Ausgabe wird generiert, wenn der folgende Code ausgeführt wird.

Die Zeile wird mit höchster Präzision und Genauigkeit kopiert

todo: Bild_alt_Text

Kopieren mehrerer Zeilen

Sie können auch mehrere Zeilen auf ein neues Ziel kopieren, während Sie die verwendenCells.copyRows-Methode, die einen zusätzlichen Parameter vom Typ Integer verwendet, um die Anzahl der zu kopierenden Quellzeilen anzugeben.

Unten sehen Sie eine Momentaufnahme der Eingabetabelle mit 3 Datenzeilen, während das unten bereitgestellte Code-Snippet alle 3 Zeilen ab der 7. Zeile an eine neue Position kopiert.

todo: Bild_alt_Text

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getDataDir(CopyingMultipleRows.class);
// 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.getWorksheets().get("Rows").getCells();
// Copy the first 3 rows to 7th row
cells.copyRows(cells, 0, 6, 3);
// Save the result on disc
workbook.save(dataDir + "output.xlsx");

Hier ist die resultierende Tabellenansicht nach dem Ausführen des obigen Code-Snippets.

todo: Bild_alt_Text

Einzelne Spalte kopieren

Aspose.Cells bietet diecopySpalte Methode derCellsKlasse kopiert diese Methode alle Arten von Daten, einschließlich Formeln – mit aktualisierten Referenzen – und Werten, Kommentaren, Zellformaten, ausgeblendeten Zellen, Bildern und anderen Zeichnungsobjekten aus der Quellspalte in die Zielspalte.

DascopySpalte-Methode nimmt die folgenden Parameter an:

  • die QuelleCellsObjekt,
  • Quellspaltenindex und
  • der Zielspaltenindex.

Verwenden Sie diecopySpalte-Methode zum Kopieren einer Spalte innerhalb eines Blatts oder in ein anderes Blatt.

In diesem Beispiel wird eine Spalte aus einem Arbeitsblatt kopiert und in ein Arbeitsblatt in einer anderen Arbeitsmappe eingefügt.

Eine Spalte wird von einer Arbeitsmappe in eine andere kopiert

todo: Bild_alt_Text

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(CopyingColumns.class) + "rows_cloumns/";
// Create a new Workbook.
Workbook excelWorkbook = new Workbook(dataDir + "book1.xls");
// Get the first worksheet in the workbook.
Worksheet wsTemplate = excelWorkbook.getWorksheets().get(0);
// Copy the first column from the first worksheet of the first workbook into the first worksheet of the second workbook.
wsTemplate.getCells().copyColumn(wsTemplate.getCells(), 1, 4);
// Save the excel file.
excelWorkbook.save(dataDir + "CopyingColumns_out.xls");
// Print message
System.out.println("Row and Column copied successfully.");

Kopieren mehrerer Spalten

Ähnlich zuCells.copyRows-Methode bieten die Aspose.Cells-APIs auch dieCells.copyColumns-Methode, um mehrere Quellspalten an einen neuen Speicherort zu kopieren.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getDataDir(CopyingMultipleColumns.class);
// 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.getWorksheets().get("Columns").getCells();
// Copy the first 3 columns 7th column
cells.copyColumns(cells, 0, 6, 3);
// Save the result on disc
workbook.save(dataDir + "output.xlsx");

So sehen Quell- und Ergebnistabellen in Excel aus.

todo: Bild_alt_Text

todo: Bild_alt_Text

Einfügen von Zeilen/Spalten mit Einfügeoptionen

Aspose.Cells bietet jetztOptionen einfügen während der Verwendung von FunktionenZeilen kopieren undSpalten kopieren. Es ermöglicht die Einstellung geeigneter Einfügeoptionen ähnlich wie in Excel.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// Load some excel file
Workbook wb = new Workbook("book1.xlsx");
// Access the first sheet which contains chart
Worksheet source = wb.getWorksheets().get(0);
// Add another sheet named DestSheet
Worksheet destination = wb.getWorksheets().add("DestSheet");
// Set CopyOptions.ReferToDestinationSheet to true
CopyOptions options = new CopyOptions();
options.setReferToDestinationSheet(true);
// Set PasteOptions
PasteOptions pasteOptions = new PasteOptions();
pasteOptions.setPasteType(PasteType.VALUES);
pasteOptions.setOnlyVisibleCells(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.getCells().copyRows(source.getCells(), 0, 0, source.getCells().getMaxDisplayRange().getRowCount(), options, pasteOptions);
// Save workbook in xlsx format
wb.save("destination.xlsx", SaveFormat.XLSX);