C++を使用したExcelでの行と列の挿入と削除

MS Excelは、Excelファイルを操作するための多くの機能を提供します。実行できる基本的な操作の1つは、行と列を挿入または削除することです。プログラムで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ワークシートに行を挿入する方法を示しています。

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

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

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

// Excelファイルの最初のワークシートにアクセスします
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// ワークシートの3番目の位置に2行を挿入します
worksheet->GetICells()->InsertRows(2, 2);

// 出力Excelファイルのパス
StringPtr outputInsertRows = outDir->StringAppend(new String("outputInsertRows.xlsx"));

// Excelファイルを保存します。
workbook->Save(outputInsertRows);
サンプルコードによって生成された出力

サンプルコードによって生成された出力

C++を使用してExcelワークシートに列を挿入する

以下は、Excelワークシートに列を挿入する手順です。

次のサンプルコードは、C++を使用してExcelワークシートに列を挿入する方法を示しています。

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

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

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

// Excelファイルの最初のワークシートにアクセスします
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// ワークシートの2番目の位置に2列を挿入します
worksheet->GetICells()->InsertColumns(1, 2);

// 出力Excelファイルのパス
StringPtr outputInsertColumns = outDir->StringAppend(new String("outputInsertColumns.xlsx"));

// Excelファイルを保存します。
workbook->Save(outputInsertColumns);
サンプルコードによって生成された出力

サンプルコードによって生成された出力

C++を使用してExcelワークシートから行を削除する

以下は、Excelワークシートから行を削除する手順です。

次のサンプルコードは、C++を使用してExcelワークシートから行を削除する方法を示しています。

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

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

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

// Excelファイルの最初のワークシートにアクセスします
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// 3行目から2行削除します
worksheet->GetICells()->DeleteRows(2, 2, true);

// 出力Excelファイルのパス
StringPtr outputDeleteRows = outDir->StringAppend(new String("outputDeleteRows.xlsx"));

// Excelファイルを保存します。
workbook->Save(outputDeleteRows);
サンプルコードによって生成された出力

サンプルコードによって生成された出力

C++を使用してExcelワークシートから列を削除する

以下は、Excelワークシートから列を削除する手順です。

次のサンプルコードは、C++を使用してExcelワークシートから列を削除する方法を示しています。

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

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

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

// Excelファイルの最初のワークシートにアクセスします
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// 2番目の位置から始まるワークシートから2列を削除します
worksheet->GetICells()->DeleteColumns(1, 2, true);

// 出力Excelファイルのパス
StringPtr outputDeleteColumns = outDir->StringAppend(new String("outputDeleteColumns.xlsx"));

// Excelファイルを保存します。
workbook->Save(outputDeleteColumns);
サンプルコードによって生成された出力

サンプルコードによって生成された出力

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

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

結論

この記事では、C++を使用してExcelワークシートに行と列を挿入および削除する方法を学習しました。 Aspose.Cells for C++は、Excel関連のタスクを自動化するための一連の追加機能を提供する広大なAPIです。 公式ドキュメントにアクセスすると、APIの詳細を調べることができます。ご不明な点がございましたら、無料サポートフォーラムまでお気軽にお問い合わせください。

関連項目