Copier ou déplacer des feuilles de calcul Excel

Les fichiers Excel sont utilisés pour gérer des données complexes telles que les budgets des services ou les rapports de ventes annuels. Il peut y avoir des situations où vous avez un modèle prêt à l’emploi que vous souhaitez utiliser pour créer un rapport. Pour cela, vous pouvez créer une copie du modèle de feuille de calcul. Vous devrez peut-être également organiser les feuilles de calcul pour illustrer le flux de données. Dans de tels cas, vous pouvez réorganiser les feuilles de calcul en fonction de vos besoins. À la lumière de cela, vous apprendrez à copier et à déplacer des feuilles de calcul par programmation à l’aide de C++.

API C++ pour copier ou déplacer des feuilles de calcul Excel

Aspose.Cells for C++ est une bibliothèque C++ native qui vous permet de créer, lire et mettre à jour des fichiers Excel sans nécessiter l’installation de Microsoft Excel. L’API prend également en charge la copie et le déplacement de feuilles de calcul Excel. Vous pouvez soit installer l’API via NuGet ou la télécharger directement à partir de la section Téléchargements.

PM> Install-Package Aspose.Cells.Cpp

Copier des feuilles de calcul dans un classeur Excel à l’aide de C++

Voici les étapes pour copier des feuilles de calcul dans un classeur Excel.

Voici l’exemple de code pour copier une feuille de calcul dans un classeur Excel à l’aide de C++.

// Chemin du répertoire source.
StringPtr srcDir = new String("SourceDirectory\\");

// Chemin du répertoire de sortie.
StringPtr outDir = new String("OutputDirectory\\");

// Charger le fichier Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));

// Récupérer des feuilles de calcul
intrusive_ptr<IWorksheetCollection> sheets = workbook->GetIWorksheets();

// Copiez les données dans une nouvelle feuille à partir d'une feuille existante dans le classeur.
sheets->AddCopy(new String("Sheet1"));

// Enregistrez le fichier Excel
workbook->Save(outDir->StringAppend(new String("Sample1_out.xlsx")));

Copier des feuilles de calcul d’un classeur à un autre

Aspose.Cells for C++ vous permet également de copier des feuilles de calcul entre deux fichiers Excel. Voici les étapes pour copier une feuille de calcul d’un fichier Excel à un autre.

Voici l’exemple de code pour copier une feuille de calcul d’un classeur Excel à un autre à l’aide de C++.

// Chemin du répertoire source.
StringPtr srcDir = new String("SourceDirectory\\");

// Chemin du répertoire de sortie.
StringPtr outDir = new String("OutputDirectory\\");

// Charger le fichier Excel source
intrusive_ptr<IWorkbook> sourceWorkbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));

// Charger le fichier Excel de destination
intrusive_ptr<IWorkbook> destinationWorkbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("book1.xlsx")));

// Récupérer les feuilles de calcul du classeur source
intrusive_ptr<IWorksheetCollection> sheets = sourceWorkbook->GetIWorksheets();

// Récupérez la feuille de calcul que vous souhaitez copier
intrusive_ptr<IWorksheet> worksheet = sheets->GetObjectByIndex(0);

// Copiez la feuille de calcul précédemment récupérée dans le nouveau classeur
destinationWorkbook->GetIWorksheets()->GetObjectByIndex(0)->Copy(worksheet);

// Enregistrez le fichier Excel
destinationWorkbook->Save(outDir->StringAppend(new String("book1_out.xlsx")));

Déplacer la feuille de calcul vers une autre position à l’aide de C++

Voici les étapes pour modifier la position de la feuille de calcul dans un classeur Excel.

Voici l’exemple de code permettant de déplacer la feuille de calcul vers une position différente dans le même classeur à l’aide de C++.

// Chemin du répertoire source.
StringPtr srcDir = new String("SourceDirectory\\");

// Chemin du répertoire de sortie.
StringPtr outDir = new String("OutputDirectory\\");

// Charger le fichier Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));

// Récupérer des feuilles de calcul
intrusive_ptr<IWorksheetCollection> sheets = workbook->GetIWorksheets();

// Accéder à la première feuille
intrusive_ptr<IWorksheet> sheet = sheets->GetObjectByIndex(0);

// Déplacez la première feuille vers la deuxième position dans le classeur.
sheet->MoveTo(1);

// Enregistrez le fichier Excel
workbook->Save(outDir->StringAppend(new String("Sample1_out.xlsx")));

Obtenez une licence gratuite

Vous pouvez essayer l’API sans limitation d’évaluation en demandant une licence temporaire gratuite.

Conclusion

Dans cet article, vous avez appris à copier des feuilles de calcul dans le même classeur Excel ou entre différents classeurs. De plus, vous avez vu comment modifier la position de la feuille de calcul dans un fichier Excel. Aspose.Cells for C++ fournit de nombreuses autres fonctionnalités pour travailler avec des fichiers Excel que vous pouvez explorer en visitant la documentation officielle. En cas de questions, n’hésitez pas à nous contacter sur notre forum d’assistance gratuit.

Voir également