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
- Seleziona la riga o la colonna che desideri copiare.
- Per copiare righe o colonne, fai clic su Copia sulla barra degli strumenti Standard, oppure premi CTRL+C.
- Seleziona una riga o una colonna sotto o alla destra di dove desideri copiare la tua selezione.
- 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
- Seleziona le celle che contengono i dati o altri attributi che desideri copiare.
- Nella scheda Home, fai clic su Copia.
- Fai clic sulla prima cella nell’area in cui desideri incollare quello che hai copiato.
- Nella scheda Home, fai clic sulla freccia accanto a Incolla, quindi seleziona Incolla speciale.
- 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") |
Quando si copiano le righe, è importante notare immagini correlate, grafici o altri oggetti disegnati poiché è lo stesso con Microsoft Excel:
- Se l’indice della riga di origine è 5, l’immagine, il grafico, ecc., vengono copiati se sono contenuti nelle tre righe (l’indice della riga di inizio è 4 e l’indice della riga di fine è 6).
- Le immagini, i grafici, ecc., esistenti nella riga di destinazione non verranno rimossi.
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) |