行と列のコピー
紹介
時には、ワークシート全体をコピーせずに行や列をコピーする必要があります。Aspose.Cellsを使用すると、ワークブック内またはワークブック間で行や列をコピーすることができます。
行(または列)をコピーすると、それに含まれるデータ(更新された参照を含む数式、値、コメント、書式設定、非表示セル、画像、その他の図形オブジェクトなど)がコピーされます。
Microsoft Excelで行と列をコピーする
- コピーしたい行または列を選択します。
- 行または列をコピーする場合は、標準ツールバーのコピーをクリックするか、CTRL+Cを押します。
- コピーする選択範囲の下または右側に行または列を選択します。
- 行または列をコピーする際に、挿入メニューでコピーしたセルをクリックします。
単一行のコピー
Aspose.Cellsは、CellsクラスのcopyRow メソッドを提供します。このメソッドは、式、値、コメント、セルの書式設定、非表示セル、画像、その他の描画オブジェクトなど、あらゆるタイプのデータをソース行から宛先行へコピーします。
copyRow メソッドは、次のパラメータを取ります:
- ソースのCells オブジェクト,
- ソースの行インデックス、および
- 宛先の行インデックス。
このメソッドを使って、シート内または別のシートに行をコピーします。copyRow はMicrosoft Excelと同様に動作します。たとえば、宛先行の高さを明示的に設定する必要はありません、その値もコピーされるからです。
以下の例は、ワークシート内の行をコピーする方法を示しています。テンプレートのMicrosoft Excelファイルを使用し、2番目の行(データ、書式設定、コメント、画像などを含む)を12番目の行に貼り付けます。
以下は、以下のコードを実行した際の出力です。
最高度の精度と正確さで行がコピーされます
行をコピーする際は、関連する画像、グラフ、またはその他の描画オブジェクトに注目することが重要です。これはMicrosoft Excelと同じです。
- もしソース行インデックスが5であれば、画像、グラフなどはその3行に含まれている場合にコピーされます(開始行インデックスが4で終了行インデックスが6の場合)。
- 宛先行にある既存の画像やグラフなどは削除されません。
複数の行のコピー
追加の整数型のパラメータを指定するCells.copyRows メソッドを使用して、新しい宛先に複数の行をコピーすることもできます。
以下は、3行のデータを含む入力スプレッドシートのスナップショットですが、以下に提供されているコードスニペットは、すべての3行を7行から始まる新しい場所にコピーします。
上記のコードスニペットを実行した後の結果のスプレッドシートビューは次のようになります。
単一列のコピー
Aspose.Cellsは、CellsクラスのcopyColumn メソッドを提供します。このメソッドは、式(更新された参照を含む)、値、コメント、セルの書式設定、非表示セル、画像、その他の描画オブジェクトなど、すべてのタイプのデータをソース列から宛先列へコピーします。
copyColumn メソッドは、以下のパラメータを取ります:
- ソースのCells オブジェクト,
- ソースの列インデックス、および
- 宛先の列インデックス。
シート内または他のシートに列をコピーするには、copyColumn メソッドを使用します。
この例では、ワークシートから列をコピーして別のブック内のワークシートに貼り付けます。
列を別のワークブックにコピーする
複数の列をコピー
Cells.copyRowsメソッドと同様に、Aspose.CellsのAPIは新しい位置に複数のソース列をコピーするためのCells.copyColumnsメソッドも提供しています。
以下は、Excelでのソースと結果のスプレッドシートの見え方です。
貼り付けオプションを使用して行/列を貼り付ける
Aspose.Cellsは、関数 CopyRows と CopyColumns を使用する際に PasteOptions を提供します。これにより、Excelと類似した貼り付けオプションを設定可能です。