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 CopyRow 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 CopyRow 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 CopyRow 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.GetRowHeight e poi imposta l’altezza della riga di destinazione utilizzando il metodo Cells.SetRowHeight poiché il metodo CopyRow si occupa automaticamente dell’altezza della riga.

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

Come Copiare Più Righe

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

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

Come Copiare Colonne

Aspose.Cells fornisce il metodo CopyColumn 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 CopyColumn 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 CopyColumn 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.

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

Come Copiare Più Colonne

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

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

Come Incollare Righe e Colonne con Opzioni di Incollaggio

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

// 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);