La copie de lignes et de colonnes est une tâche courante effectuée lors de l’utilisation de fichiers Excel. Dans certaines situations, vous devrez peut-être copier des lignes ou des colonnes dans des fichiers Excel par programmation. Dans de tels cas, cet article vous apprendra à copier des lignes et des colonnes dans des fichiers Excel à l’aide de C++.

API C++ pour copier des lignes et des colonnes dans des fichiers Excel

Aspose.Cells for C++ est une bibliothèque C++ native qui vous permet de créer, lire et modifier des fichiers Excel sans nécessiter l’installation de Microsoft Excel. L’API offre également la possibilité de copier des lignes et des colonnes dans des fichiers 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 une seule ligne dans un fichier Excel à l’aide de C++

Voici l’image du fichier Excel source que nous utiliserons dans les exemples suivants.

Feuille de travail source

Voici les étapes pour copier une seule ligne dans un fichier Excel à l’aide de C++.

L’exemple de code suivant montre comment copier une ligne dans un fichier Excel à l’aide de C++.

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

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

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

// Obtenir la première feuille de calcul
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Copier la ligne
worksheet->GetICells()->CopyIRow(worksheet->GetICells(), 1, 15);

// Enregistrez le fichier Excel
workbook->Save(outDir->StringAppend(new String("CopyRow_out.xlsx")));
Image montrant la ligne copiée

Image montrant la ligne copiée

Copier plusieurs lignes dans un fichier Excel à l’aide de C++

Afin de copier plusieurs lignes, nous utiliserons la méthode CopyIRows qui accepte un paramètre supplémentaire indiquant le nombre total de lignes à copier. Pour copier plusieurs lignes, suivez les étapes ci-dessous.

L’exemple de code suivant montre comment copier plusieurs lignes dans un fichier Excel à l’aide de C++.

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

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

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

// Obtenir la première feuille de calcul
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Copier des lignes
worksheet->GetICells()->CopyIRows(worksheet->GetICells(), 1, 15, 3);

// Enregistrez le fichier Excel
workbook->Save(outDir->StringAppend(new String("CopyRows_out.xlsx")));
Image montrant les lignes copiées

Image montrant les lignes copiées

Copier une seule colonne dans un fichier Excel à l’aide de C++

Voici les étapes pour copier une seule colonne dans un fichier Excel à l’aide de C++.

L’exemple de code suivant montre comment copier une seule colonne dans un fichier Excel à l’aide de C++.

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

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

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

// Obtenir la première feuille de calcul
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Copier la colonne
worksheet->GetICells()->CopyIColumn(worksheet->GetICells(), 0, 6);

// Enregistrez le fichier Excel
workbook->Save(outDir->StringAppend(new String("CopyColumn_out.xlsx")));
Image montrant la colonne copiée

Image montrant la colonne copiée

Copier plusieurs colonnes dans un fichier Excel à l’aide de C++

Afin de copier plusieurs colonnes, nous utiliserons la méthode CopyIColumns qui accepte un paramètre supplémentaire indiquant le nombre total de colonnes à copier. Pour copier plusieurs colonnes, suivez les étapes ci-dessous.

L’exemple de code suivant montre comment copier plusieurs colonnes dans un fichier Excel à l’aide de C++.

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

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

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

// Obtenir la première feuille de calcul
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Copier les colonnes
worksheet->GetICells()->CopyIColumns(worksheet->GetICells(), 0, 6, 3);

// Enregistrez le fichier Excel
workbook->Save(outDir->StringAppend(new String("CopyColumns_out.xlsx")));
Image montrant les colonnes copiées

Image montrant les colonnes copiées

Obtenez une licence gratuite

Afin d’essayer l’API sans limitation d’évaluation, vous pouvez demander une licence temporaire gratuite.

Conclusion

Dans cet article, vous avez appris à copier des lignes et des colonnes dans un fichier Excel à l’aide de C++. Les exemples de code partagé montrent comment copier des lignes et des colonnes uniques et multiples dans un fichier Excel. Nous avons utilisé l’API Aspose.Cells for C++ pour y parvenir. Il s’agit d’une API robuste qui fournit de nombreuses fonctionnalités supplémentaires pour travailler avec des fichiers Excel. Vous pouvez explorer l’API en détail en visitant la documentation officielle. En cas de questions, n’hésitez pas à nous contacter sur notre forum d’assistance gratuit.

Voir également