Kopiera rader och kolumner

Introduktion

Ibland måste du kopiera rader och kolumner i ett kalkylblad utan att kopiera hela kalkylbladet. Med Aspose.Cells är det möjligt att kopiera rader och kolumner inom eller mellan arbetsböcker. När en rad (eller kolumn) kopieras, kopieras även data som finns i den, inklusive formler - med uppdaterade referenser - och värden, kommentarer, formatering, dolda celler, bilder och andra ritobjekt.

Kopiera rader och kolumner med Microsoft Excel

  1. Välj den rad eller kolumn som du vill kopiera.
  2. För att kopiera rader eller kolumner, klickaKopieraStandard verktygsfältet eller tryck påCTRL+C.
  3. Välj en rad eller kolumn nedan eller till höger om var du vill kopiera ditt val.
  4. Klicka på när du kopierar rader eller kolumnerKopierat CellsFöra in meny.

Klistra in rader och kolumner med inklistringsalternativ med Microsoft Excel

  1. Markera cellerna som innehåller data eller andra attribut som du vill kopiera.
  2. Klicka på fliken HemKopiera.
  3. Klicka på den första cellen i området där du villklistra vad du kopierade.
  4. Klicka på pilen bredvid på fliken HemKlistra , och välj sedanKlistra Särskild.
  5. Väljalternativ du vill.

Använder Aspose.Cells

Kopiera enstaka rader

Aspose.Cells tillhandahållerCopyRow metod förCellsklass. Denna metod kopierar alla typer av data inklusive formler, värden, kommentarer, cellformat, dolda celler, bilder och andra ritobjekt från källraden till målraden.

DeCopyRowmetoden tar följande parametrar:

  • källanCellsobjekt,
  • källradens index, och
  • destinationsradindex.

Använd den här metoden för att kopiera en rad i ett ark eller till ett annat ark. DeCopyRowMetoden fungerar på liknande sätt som Microsoft Excel. Så, till exempel, behöver du inte ställa in höjden på destinationsraden explicit, det värdet kopieras också.

Följande exempel visar hur man kopierar en rad i ett kalkylblad. Den använder en mall Microsoft Excel-fil och kopierar den andra raden (komplett med data, formatering, kommentarer, bilder och så vidare) och klistra in den på den 12:e raden i samma kalkylblad.

Du kan hoppa över steget som får källradens höjd med hjälp avCells.GetRowHeight metod och ställer sedan in destinationsradens höjd med hjälp avCells.SetRowHeight metod somCopyRowmetod tar automatiskt hand om radhöjden.

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

Kopiera flera rader

Du kan också kopiera flera rader till en ny destination medan du använderCells.CopyRowsmetod som tar en extra parameter av typen heltal för att specificera antalet källrader som ska kopieras.

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

Kopiera kolumner

Aspose.Cells tillhandahållerCopyColumn metod förCellsklass, kopierar denna metod alla typer av data, inklusive formler - med uppdaterade referenser - och värden, kommentarer, cellformat, dolda celler, bilder och andra ritobjekt från källkolumnen till målkolumnen.

DeCopyColumnmetoden tar följande parametrar:

  • källanCellsobjekt,
  • källkolumnindex och
  • målkolumnindex.

AnvändCopyColumnmetod för att kopiera en kolumn inom ett ark eller till ett annat ark.

Det här exemplet kopierar en kolumn från ett kalkylblad och klistrar in den i ett kalkylblad i en annan arbetsbok.

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

Kopiera flera kolumner

LiknandeCells.CopyRows Aspose.Cells API:er tillhandahåller ocksåCells.CopyColumnsmetod för att kopiera flera källkolumner till en ny plats.

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

Klistra in rader/kolumner med inklistringsalternativ

Aspose.Cells ger nuKlistra in Alternativ när du använder funktionerCopyRows ochCopyColumns. Det gör det möjligt att ställa in lämpligt inklistringsalternativ som liknar 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);