Copiatura di righe e colonne

Introduzione

A volte è necessario copiare righe e colonne in un foglio di lavoro senza copiare l’intero foglio di lavoro. Con Aspose.Cells, è possibile copiare righe e colonne all’interno o tra i fogli di lavoro. Quando viene copiata una riga (o colonna), vengono copiati anche i dati contenuti al suo interno, inclusi formule - con riferimenti aggiornati - e valori, commenti, formattazione, celle nascoste, immagini e altri oggetti grafici.

Come copiare righe e colonne con Microsoft Excel

  1. Seleziona la riga o la colonna che desideri copiare.
  2. Per copiare righe o colonne, fai clic su Copia sulla barra degli strumenti Standard, oppure premi CTRL+C.
  3. Seleziona una riga o una colonna sotto o alla destra di dove desideri copiare la tua selezione.
  4. Quando stai copiando righe o colonne, fai clic su Celle Copiate nel menu Inserisci.

Come incollare righe e colonne utilizzando le opzioni di incolla con Microsoft Excel

  1. Seleziona le celle che contengono i dati o altri attributi che desideri copiare.
  2. Nella scheda Home, fai clic su Copia.
  3. Fai clic sulla prima cella nell’area in cui desideri incollare quello che hai copiato.
  4. Nella scheda Home, fai clic sulla freccia accanto a Incolla, quindi seleziona Incolla speciale.
  5. Seleziona le opzioni desiderate.

Come copiare righe e colonne usando Aspose.Cells for .NET

Come copiare singole righe

Aspose.Cells fornisce il metodo copy_row della classe Cells. Questo metodo copia tutti i tipi di dati, incluse formule, valori, commenti, formati delle celle, celle nascoste, immagini e altri oggetti grafici dalla riga di origine alla riga di destinazione.

Il metodo copy_row richiede i seguenti parametri:

  • l’oggetto Cells di origine,
  • l’indice della riga di origine, e
  • l’indice della riga di destinazione.

Utilizza questo metodo per copiare una riga all’interno di un foglio o in un altro foglio. Il metodo copy_row funziona in modo simile a Microsoft Excel. Quindi, ad esempio, non è necessario impostare esplicitamente l’altezza della riga di destinazione, quel valore viene copiato anche.

Nell’esempio seguente viene mostrato come copiare una riga in un foglio di lavoro. Utilizza un file modello di Microsoft Excel e copia la seconda riga (completa di dati, formattazione, commenti, immagini e così via) e la incolla nella dodicesima riga nello stesso foglio di lavoro.

Puoi saltare il passaggio che ottiene l’altezza della riga di origine utilizzando il metodo Cells.get_row_height e poi imposta l’altezza della riga di destinazione utilizzando il metodo Cells.set_row_height poiché il metodo copy_row si occupa automaticamente dell’altezza della riga.

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

Come Copiare Più Righe

Puoi anche copiare più righe su una nuova destinazione utilizzando il metodo Cells.copy_rows che richiede un parametro aggiuntivo di tipo intero per specificare il numero di righe di origine da copiare.

from aspose.cells import Workbook
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# The path to the documents directory.
dataDir = RunExamples.GetDataDir(".")
# Create an instance of Workbook class by loading the existing spreadsheet
workbook = Workbook(dataDir + "aspose-sample.xlsx")
# Get the cells collection of worksheet by name Rows
cells = workbook.worksheets.get("Rows").cells
# Copy the first 3 rows to 7th row
cells.copy_rows(cells, 0, 6, 3)
# Save the result on disc
workbook.save(dataDir + "output_out.xlsx")

Come Copiare Colonne

Aspose.Cells fornisce il metodo copy_column della classe Cells, questo metodo copia tutti i tipi di dati, inclusi formule - con riferimenti aggiornati - e valori, commenti, formati di celle, celle nascoste, immagini e altri oggetti disegnati dalla colonna di origine alla colonna di destinazione.

Il metodo copy_column richiede i seguenti parametri:

  • l’oggetto Cells di origine,
  • l’indice della colonna di origine e
  • l’indice della colonna di destinazione.

Utilizza il metodo copy_column per copiare una colonna all’interno di un foglio o in un altro foglio.

Questo esempio copia una colonna da un foglio di lavoro e la incolla in un foglio di lavoro in un altro documento.

from aspose.cells import Workbook
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# The path to the documents directory.
dataDir = RunExamples.GetDataDir(".")
# Create another Workbook.
excelWorkbook1 = Workbook(dataDir + "book1.xls")
# Get the first worksheet in the book.
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.copy_column(ws1.cells, ws1.cells.columns[0].index, ws1.cells.columns[2].index)
# Autofit the column.
ws1.auto_fit_column(2)
# Save the excel file.
excelWorkbook1.save(dataDir + "output.xls")

Come Copiare Più Colonne

Similmente al metodo Cells.copy_rows, le API di Aspose.Cells forniscono anche il metodo Cells.copy_columns per copiare più colonne di origine in una nuova posizione.

from aspose.cells import Workbook
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# The path to the documents directory.
dataDir = RunExamples.GetDataDir(".")
# Create an instance of Workbook class by loading the existing spreadsheet
workbook = Workbook(dataDir + "aspose-sample.xlsx")
# Get the cells collection of worksheet by name Columns
cells = workbook.worksheets.get("Columns").cells
# Copy the first 3 columns 7th column
cells.copy_columns(cells, 0, 6, 3)
# Save the result on disc
workbook.save(dataDir + "output_out.xlsx")

Come Incollare Righe e Colonne con Opzioni di Incollaggio

Aspose.Cells fornisce ora PasteOptions utilizzando le funzioni copy_rows e copy_columns. Consente di impostare l’opzione di incollaggio appropriata simile a Excel.

from aspose.cells import CopyOptions, PasteOptions, PasteType, SaveFormat, Workbook
# 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
sourceDir = RunExamples.Get_SourceDirectory()
# Output directory
outputDir = RunExamples.Get_OutputDirectory()
# Load sample excel file
wb = Workbook(sourceDir + "sampleChangeChartDataSource.xlsx")
# Access the first sheet which contains chart
source = wb.worksheets[0]
# Add another sheet named DestSheet
destination = wb.worksheets.add("DestSheet")
# Set CopyOptions.ReferToDestinationSheet to true
options = CopyOptions()
options.refer_to_destination_sheet = True
# Set PasteOptions
pasteOptions = PasteOptions()
pasteOptions.paste_type = PasteType.VALUES
pasteOptions.only_visible_cells = 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.copy_rows(source.cells, 0, 0, source.cells.max_display_range.row_count, options, pasteOptions)
# Save workbook in xlsx format
wb.save(outputDir + "outputChangeChartDataSource.xlsx", SaveFormat.XLSX)