行と列のコピーは、Excelファイルの操作中に実行される一般的なタスクです。プログラムでExcelファイルの行または列をコピーする必要がある場合があります。このような場合、この記事では、C++を使用してExcelファイルの行と列をコピーする方法について説明します。

Excelファイルの行と列をコピーするためのC++API

Aspose.Cells for C++はネイティブC++ライブラリであり、Microsoft Excelをインストールしなくても、Excelファイルを作成、読み取り、変更できます。 APIには、Excelファイルの行と列をコピーする機能もあります。 APIは、NuGetからインストールするか、ダウンロードセクションから直接ダウンロードできます。

PM> Install-Package Aspose.Cells.Cpp

C++を使用してExcelファイルの単一行をコピーする

以下は、次の例で使用するソースExcelファイルの画像です。

ソースワークシート

以下は、C++を使用してExcelファイルの単一の行をコピーする手順です。

次のサンプルコードは、C++を使用してExcelファイルの行をコピーする方法を示しています。

// ソースディレクトリのパス。
StringPtr srcDir = new String("SourceDirectory\\Excel\\");

// 出力ディレクトリパス。
StringPtr outDir = new String("OutputDirectory\\");

// 入力Excelファイルをロードします
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));

// 最初のワークシートを取得する
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// 行をコピー
worksheet->GetICells()->CopyIRow(worksheet->GetICells(), 1, 15);

// Excelファイルを保存します
workbook->Save(outDir->StringAppend(new String("CopyRow_out.xlsx")));
コピーされた行を示す画像

コピーされた行を示す画像

C++を使用してExcelファイルの複数の行をコピーする

複数の行をコピーするために、コピーされる行の総数を示す追加のパラメーターを受け入れるCopyIRowsメソッドを使用します。複数の行をコピーするには、以下の手順に従います。

次のサンプルコードは、C++を使用してExcelファイルの複数の行をコピーする方法を示しています。

// ソースディレクトリのパス。
StringPtr srcDir = new String("SourceDirectory\\Excel\\");

// 出力ディレクトリパス。
StringPtr outDir = new String("OutputDirectory\\");

// 入力Excelファイルをロードします
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));

// 最初のワークシートを取得する
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// 行をコピーする
worksheet->GetICells()->CopyIRows(worksheet->GetICells(), 1, 15, 3);

// Excelファイルを保存します
workbook->Save(outDir->StringAppend(new String("CopyRows_out.xlsx")));
コピーされた行を示す画像

コピーされた行を示す画像

C++を使用してExcelファイルの単一列をコピーする

以下は、C++を使用してExcelファイルの単一の列をコピーする手順です。

次のサンプルコードは、C++を使用してExcelファイルの単一の列をコピーする方法を示しています。

// ソースディレクトリのパス。
StringPtr srcDir = new String("SourceDirectory\\Excel\\");

// 出力ディレクトリパス。
StringPtr outDir = new String("OutputDirectory\\");

// 入力Excelファイルをロードします
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));

// 最初のワークシートを取得する
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// 列をコピー
worksheet->GetICells()->CopyIColumn(worksheet->GetICells(), 0, 6);

// Excelファイルを保存します
workbook->Save(outDir->StringAppend(new String("CopyColumn_out.xlsx")));
コピーされた列を示す画像

コピーされた列を示す画像

C++を使用してExcelファイルの複数の列をコピーする

複数の列をコピーするには、コピーする列の総数を示す追加のパラメーターを受け入れるCopyIColumnsメソッドを使用します。複数の列をコピーするには、以下の手順に従います。

次のサンプルコードは、C++を使用してExcelファイルの複数の列をコピーする方法を示しています。

// ソースディレクトリのパス。
StringPtr srcDir = new String("SourceDirectory\\Excel\\");

// 出力ディレクトリパス。
StringPtr outDir = new String("OutputDirectory\\");

// 入力Excelファイルをロードします
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));

// 最初のワークシートを取得する
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// 列をコピーする
worksheet->GetICells()->CopyIColumns(worksheet->GetICells(), 0, 6, 3);

// Excelファイルを保存します
workbook->Save(outDir->StringAppend(new String("CopyColumns_out.xlsx")));
コピーされた列を示す画像

コピーされた列を示す画像

無料ライセンスを取得する

評価制限なしでAPIを試すために、無料の一時ライセンスをリクエストできます。

結論

この記事では、C++を使用してExcelファイルの行と列をコピーする方法を学習しました。共有コードサンプルは、Excelファイルの単一および複数の行と列をコピーする方法を示しています。これを実現するために、Aspose.Cells for C++APIを使用しました。これは、Excelファイルを操作するための多くの追加機能を提供する堅牢なAPIです。 公式ドキュメントにアクセスすると、APIの詳細を調べることができます。ご不明な点がございましたら、無料サポートフォーラムまでお気軽にお問い合わせください。

関連項目