行と列のコピー

紹介

ワークシート内でワークシート全体をコピーせずに行や列をコピーする必要がある場合があります。Aspose.Cellsを使用すれば、行や列をワークブック内またはワークブック間でコピーすることが可能です。 行(または列)をコピーすると、その中に含まれるデータ、更新された参照を持つ数式、値、コメント、書式設定、非表示セル、画像、および他の図形オブジェクトもコピーされます。

Microsoft Excelで行と列をコピーする

  1. コピーしたい行または列を選択します。
  2. 行または列をコピーする場合は、標準ツールバーのコピーをクリックするか、CTRL+Cを押します。
  3. コピーする選択範囲の下または右側に行または列を選択します。
  4. 行または列をコピーする際に、挿入メニューでコピーしたセルをクリックします。

Aspose.Cellsの使用

行のコピー

Aspose.Cellsでは、Aspose::Cells::ICellsクラスのCopyRowメソッドを提供しています。このメソッドは、数式、値、コメント、セルの書式設定、非表示セル、画像、および他の図形オブジェクトを含むすべての種類のデータをソース行から宛先行にコピーします。

CopyRowメソッドは次のパラメータを取ります:

  • ソースのCellsオブジェクト、
  • ソースの行インデックス、および
  • 宛先の行インデックス。

このメソッドを使用してシート内の行をコピーしたり、他のシートにコピーしたりできます。CopyRowメソッドはMicrosoft Excelと同様に機能します。そのため、宛先行の高さを明示的に設定する必要はなく、その値もコピーされます。

次の例は、ワークシート内の行をコピーする方法を示しています。テンプレートのMicrosoft Excelファイルを使用し、2番目の行(データ、書式設定、コメント、画像などを含む)を12番目の行に貼り付けます。

宛先の行の高さを設定するためにGetRowHeighメソッドを使用し、その後SetRowHeightメソッドを使用するステップをスキップすることも可能です。CopyRowメソッドは自動的に行の高さに対応しています。

Aspose::Cells::Startup();
//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
//Path of input
U16String dirPath(u"");
//Path of output
U16String outPath(u"");
//Path of input excel file
U16String sampleCopyingRowsAndColumns = dirPath + u"sampleCopyingRowsAndColumns.xlsx";
//Path of output excel file
U16String outputCopyingRowsAndColumns = outPath + u"outputCopyingRowsAndColumns.xlsx";
//Read input excel file
Workbook workbook(sampleCopyingRowsAndColumns);
//Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.GetWorksheets().Get(0);
//Copy the second row with data, formattings, images and drawing objects to the 16th row in the worksheet.
worksheet.GetCells().CopyRow(worksheet.GetCells(), 1, 15);
//Save the Excel file.
workbook.Save(outputCopyingRowsAndColumns);
Aspose::Cells::Cleanup();

列のコピー

Aspose.Cellsでは、Aspose::Cells::ICellsクラスのCopyColumnメソッドを提供しています。このメソッドは、数式(更新された参照を持つ)、値、コメント、セルの書式設定、非表示セル、画像、および他の図形オブジェクトを含むすべての種類のデータをソース列から宛先列にコピーします。

CopyColumnメソッドは次のパラメータを取ります:

  • ソースのCellsオブジェクト、
  • ソースの列インデックス、および
  • 宛先の列インデックス。

CopyColumnメソッドを使用して、シート内または別のシートに列をコピーします。

この例では、ワークシートから列をコピーして別のブック内のワークシートに貼り付けます。

Aspose::Cells::Startup();
//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
//Path of input
U16String dirPath(u"");
//Path of output
U16String outPath(u"");
//Path of input excel file
U16String sampleCopyingRowsAndColumns = dirPath + u"sampleCopyingRowsAndColumns.xlsx";
//Path of output excel file
U16String outputCopyingRowsAndColumns = outPath + u"outputCopyingRowsAndColumns.xlsx";
//Read input excel file
Workbook workbook(sampleCopyingRowsAndColumns);
//Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.GetWorksheets().Get(0);
//Copy the third column to eighth column
worksheet.GetCells().CopyColumn(worksheet.GetCells(), 2, 7);
//Save the Excel file.
workbook.Save(outputCopyingRowsAndColumns);
Aspose::Cells::Cleanup();