Diviser le texte en colonnes dans des fichiers Excel à l'aide de C++

Microsoft Excel permet de diviser le texte en plusieurs colonnes à l’aide de séparateurs tels que des espaces, des virgules ou d’autres caractères. Cette fonctionnalité peut être utile dans des scénarios tels que la conversion des données séparées par des virgules exportées d’une table de base de données vers une forme tabulaire. À cette fin, cet article vous apprendra à diviser du texte en colonnes dans des fichiers Excel à l’aide de C++.

API C++ pour fractionner du texte en colonnes dans des fichiers Excel

Nous utiliserons l’API Aspose.Cells for C++ pour diviser le texte en colonnes dans les fichiers Excel. Il s’agit d’une bibliothèque C++ native qui permet de créer, lire et modifier des fichiers Excel sans nécessiter l’installation de Microsoft 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

Diviser le texte en colonnes dans des fichiers Excel à l’aide de C++

Voici les étapes pour diviser le texte en colonnes dans les fichiers Excel.

L’exemple de code suivant montre comment fractionner du texte en colonnes dans des fichiers 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\\");

// Chemin du fichier excel de sortie
StringPtr outputFile = outDir->StringAppend(new String("TextToColumns.xlsx"));

// Créer une instance de la classe IWorkbook
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();

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

// Ajouter des exemples de données
intrusive_ptr<String> str = new String("John Teal");
worksheet->GetICells()->GetObjectByIndex(new String("A1"))->PutValue(str);
str = new String("Peter Graham");
worksheet->GetICells()->GetObjectByIndex(new String("A2"))->PutValue(str);
str = new String("Brady Cortez");
worksheet->GetICells()->GetObjectByIndex(new String("A3"))->PutValue(str);
str = new String("Mack Nick");
worksheet->GetICells()->GetObjectByIndex(new String("A4"))->PutValue(str);
str = new String("Hsu Lee");
worksheet->GetICells()->GetObjectByIndex(new String("A5"))->PutValue(str);

// Créer une instance de la classe ITxtLoadOptions
intrusive_ptr<ITxtLoadOptions> options = Factory::CreateITxtLoadOptions();

// Spécifiez le séparateur pour séparer le texte
options->SetSeparator(' ');

// Diviser le texte en colonnes
worksheet->GetICells()->TextToColumns(0, 0, 5, options);

// Enregistrez le fichier Excel de sortie
workbook->Save(outputFile);
Image du fichier Excel de sortie montrant le texte divisé en deux colonnes

Image du fichier Excel de sortie montrant le texte divisé en deux colonnes

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 à diviser du texte en plusieurs colonnes dans des fichiers Excel à l’aide de C++. Vous avez vu l’extrait de code complet ainsi que les étapes nécessaires pour y parvenir. Aspose.Cells for C++ est une API robuste qui fournit de nombreuses fonctionnalités supplémentaires pour automatiser vos tâches liées à 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