行と列のコピー
紹介
ワークシート内でワークシート全体をコピーせずに行や列をコピーする必要がある場合があります。Aspose.Cellsを使用すれば、行や列をワークブック内またはワークブック間でコピーすることが可能です。 行(または列)をコピーすると、その中に含まれるデータ、更新された参照を持つ数式、値、コメント、書式設定、非表示セル、画像、および他の図形オブジェクトもコピーされます。
Microsoft Excelで行と列をコピーする
- コピーしたい行または列を選択します。
- 行または列をコピーする場合は、標準ツールバーのコピーをクリックするか、CTRL+Cを押します。
- コピーする選択範囲の下または右側に行または列を選択します。
- 行または列をコピーする際に、挿入メニューでコピーしたセルをクリックします。
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(); |
行をコピーする際には、関連する画像、グラフなどの図形オブジェクトに注意することが重要です(これはMicrosoft Excelと同じです):
- ソース行インデックスが5の場合、画像、グラフなどが3行に含まれているためコピーされます(開始行インデックスが4で終了行インデックスが6)。
- 宛先の行に既存の画像、グラフなどは削除されません。
列のコピー
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(); |