MS Excelは、Excelファイルを操作するための多くの機能を提供します。実行できる基本的な操作の1つは、行と列を挿入または削除することです。プログラムでExcelファイルを操作しているときに、行と列を挿入または削除する必要がある場合があります。これに照らして、この記事では、C++を使用してExcelワークシートに行と列を挿入および削除する方法を説明します。
- Excelで行と列を挿入および削除するC++API
- C++を使用してExcelワークシートに行を挿入する
- C++を使用してExcelワークシートに列を挿入する
- C++を使用して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ワークシートに行を挿入する手順です。
- まず、IWorkbookクラスを使用してExcelファイルをロードします。
- IWorkbook->GetIWorksheets()->GetObjectByIndex(Aspose::Cells::Systems::Int32 index)メソッドを使用して、行を挿入するワークシートのインスタンスを取得します。
- IWorksheet->GetICells()->InsertRows(Aspose::Cells::Systems::Int32 rowIndex, Aspose::Cells::Systems::Int32 totalRows)メソッドを使用して行を挿入します。
- 最後に、IWorkbook->Save(intrusive_ptrAspose::Cells::Systems::String fileName)メソッド。
次のサンプルコードは、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ワークシートに列を挿入する手順です。
- まず、IWorkbookクラスを使用してExcelファイルをロードします。
- IWorkbook->GetIWorksheets()->GetObjectByIndex(Aspose::Cells::Systems::Int32 index)メソッドを使用して、列を挿入するワークシートのインスタンスを取得します。
- IWorksheet->GetICells()->InsertColumns(Aspose::Cells::Systems::Int32 columnIndex, Aspose::Cells::Systems::Int32 totalColumns)メソッドを使用して列を挿入します。
- 最後に、IWorkbook->Save(intrusive_ptrAspose::Cells::Systems::String fileName)メソッド。
次のサンプルコードは、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ワークシートから行を削除する手順です。
- まず、IWorkbookクラスを使用してExcelファイルをロードします。
- IWorkbook->GetIWorksheets()->GetObjectByIndex(Aspose::Cells::Systems::Int32 index)メソッドを使用して、行を削除する場所からワークシートのインスタンスを取得します。
- IWorksheet->GetICells()->DeleteRows(Aspose::Cells::Systems::Int32 rowIndex, Aspose::Cells::Systems::Int32 totalRows, bool updateReference)メソッドを使用して行を削除します。
- 最後に、IWorkbook->Save(intrusive_ptrAspose::Cells::Systems::String fileName)メソッド。
次のサンプルコードは、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ワークシートから列を削除する手順です。
- まず、IWorkbookクラスを使用してExcelファイルをロードします。
- IWorkbook->GetIWorksheets()->GetObjectByIndex(Aspose::Cells::Systems::Int32 index)メソッドを使用して、列を削除するワークシートのインスタンスを取得します。
- IWorksheet->GetICells()->DeleteColumns(Aspose::Cells::Systems::Int32 columnIndex, Aspose::Cells::Systems::Int32 totalColumns, bool updateReference)メソッドを使用して列を削除します。
- 最後に、IWorkbook->Save(intrusive_ptrAspose::Cells::Systems::String fileName)メソッド。
次のサンプルコードは、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の詳細を調べることができます。ご不明な点がございましたら、無料サポートフォーラムまでお気軽にお問い合わせください。