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
- Copier des feuilles de calcul dans un classeur Excel à l’aide de C++
- Copier des feuilles de calcul d’un classeur à un autre
- Déplacer la feuille de calcul vers une autre position à l’aide de C++
- Obtenez une licence gratuite
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.
- Chargez le fichier Excel à l’aide de la classe IWorkbook.
- Récupérez la collection de feuilles de calcul à l’aide de la méthode IWorkbook->GetIWorksheets().
- Ajoutez la copie de la feuille de calcul requise à l’aide de IWorksheetCollection->AddCopy (intrusiveptrAspose::Cells::Systems::String sheetName) méthode.
- Enfin, enregistrez le fichier Excel en utilisant IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String nom_fichier) méthode.
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.
- Tout d’abord, chargez les fichiers Excel source et de destination à l’aide de la classe IWorkbook.
- Récupérez la collection de feuilles de calcul du classeur source à l’aide de la méthode IWorkbook->GetIWorksheets().
- Récupérez la feuille de calcul que vous souhaitez copier à l’aide de la méthode IWorksheetCollection->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Copiez la feuille de calcul dans le classeur de destination à l’aide de IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index)->Copy (intrusiveptrAspose::Cells::IWorksheet sourceSheet) méthode.
- Enfin, enregistrez le fichier Excel de destination en utilisant IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String nom_fichier) méthode.
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.
- Chargez le fichier Excel à l’aide de la classe IWorkbook.
- Récupérez la collection de feuilles de calcul à l’aide de la méthode IWorkbook->GetIWorksheets().
- Récupérez la feuille de calcul que vous souhaitez déplacer à l’aide de la méthode IWorksheetCollection->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Déplacez la feuille de calcul vers l’emplacement souhaité à l’aide de la méthode IWorksheet->MoveTo (Aspose::Cells::Systems::Int32 index).
- Enfin, enregistrez le fichier Excel en utilisant IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String nom_fichier) méthode.
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.