Excel est un format populaire pour partager des informations. Vous pouvez vous retrouver dans des situations où vous avez des données dans un fichier Excel (XLS ou XLSX) que vous devez importer dans une base de données. Pour cela, vous devrez convertir le fichier Excel au format CSV. D’autre part, vous pouvez avoir des données au format CSV exportées d’une base de données que vous devez manipuler davantage dans un fichier Excel. Dans de tels cas, vous devrez convertir le fichier CSV au format Excel. Dans cet article, vous apprendrez à effectuer ces deux conversions par programmation à l’aide de C++.
- API C++ pour convertir des fichiers Excel en fichiers CSV et CSV au format Excel
- Conversion de fichiers Excel au format CSV à l’aide de C++
- Convertir des feuilles de calcul Excel en fichiers CSV
- Conversion de fichiers CSV au format Excel à l’aide de C++
- Obtenez une licence gratuite
API C++ pour convertir des fichiers Excel en fichiers CSV et CSV au format Excel
Aspose.Cells for C++ est une bibliothèque C++ native qui vous permet de créer, lire et modifier des fichiers Excel. De plus, l’API prend en charge la conversion de fichiers Excel au format CSV et vice-versa. 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
Conversion de fichiers Excel au format CSV à l’aide de C++
La conversion de fichiers Excel au format CSV est un jeu d’enfant avec Aspose.Cells for C++. Voici les étapes pour convertir des fichiers Excel au format CSV à l’aide de C++.
- Chargez le fichier Excel à l’aide de la classe IWorkbook.
- Enregistrez le fichier au format CSV à l’aide de IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String fileName, Aspose::Cells::SaveFormat saveFormat) méthode.
Voici un exemple de code pour convertir des fichiers Excel au format CSV.
// 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 d'entrée
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));
// Enregistrer le fichier CSV de sortie
workbook->Save(outDir->StringAppend(new String("Sample1_out.csv")), SaveFormat_CSV);
Convertir des feuilles de calcul Excel en fichiers CSV
L’exemple précédent convertit uniquement la première feuille de calcul si le fichier Excel contient plusieurs feuilles de calcul. Si vous souhaitez convertir plusieurs feuilles de calcul au format CSV, vous pouvez suivre les étapes suivantes.
- Chargez le fichier Excel à l’aide de la classe IWorkbook.
- Récupérez les feuilles de calcul à l’aide de la méthode IWorkbook->GetIWorksheets().
- Parcourez les feuilles de calcul récupérées.
- Dans la boucle, vous pouvez spécifier votre logique personnalisée pour convertir des feuilles de calcul spécifiques en fichiers CSV. Dans cette démonstration, toutes les feuilles de calcul sont converties en fichiers CSV.
- Récupérez la feuille de calcul à convertir à l’aide de la méthode IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Créez une instance de la classe IWorkbook pour représenter un nouveau fichier CSV.
- Copiez la feuille de calcul précédemment récupérée dans la nouvelle instance de classeur à l’aide de IWorkbook->GetIWorksheets()->GetObjectByIndex(0)->Copy (intrusiveptrAspose::Cells::IWorksheet sourceSheet) méthode.
- Enregistrez le nouveau classeur au format CSV à l’aide de IWorkbook-> Save (intrusiveptrAspose::Cells::Systems::String fileName, Aspose::Cells::SaveFormat saveFormat) méthode.
Voici un exemple de code pour convertir des feuilles de calcul Excel en fichiers CSV à 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 les feuilles de travail du classeur.
intrusive_ptr<IWorksheetCollection> sheets = workbook->GetIWorksheets();
// Créer un objet générateur de chaînes pour les concaténations de chaînes.
intrusive_ptr<Aspose::Cells::Systems::Text::StringBuilder> stringBuilder = new Aspose::Cells::Systems::Text::StringBuilder();
for (int sheet = 0; sheet < sheets->GetCount(); sheet++)
{
// Récupérer la feuille de calcul à copier
intrusive_ptr<IWorksheet> worksheet = sheets->GetObjectByIndex(sheet);
// Créer une instance de la classe IWorkbook pour représenter le nouveau classeur
intrusive_ptr<IWorkbook> newWorkbook = Factory::CreateIWorkbook();
// Copiez la feuille de calcul précédemment récupérée dans le nouveau classeur
newWorkbook->GetIWorksheets()->GetObjectByIndex(0)->Copy(worksheet);
// Effacez le générateur de chaînes et créez un chemin de sortie avec des concaténations de chaînes.
stringBuilder->Clear();
stringBuilder->Append(outDir);
stringBuilder->Append((StringPtr)new String("Sample1_sheet_"));
stringBuilder->Append(sheet);
stringBuilder->Append((StringPtr)new String("_out.csv"));
// Enregistrer le fichier CSV de sortie
newWorkbook->Save(stringBuilder->ToString(), SaveFormat_CSV);
}
Conversion de fichiers CSV au format Excel à l’aide de C++
Voici les étapes pour convertir des fichiers CSV au format Excel à l’aide de C++.
- Créez une instance de la classe ILoadOptions.
- Créez un objet de la classe IWorkbook à l’aide de l’instance ILoadOptions créée précédemment.
- Enregistrez le fichier au format Excel à l’aide de IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName, Aspose::Cells::SaveFormat saveFormat) méthode.
Voici un exemple de code pour convertir des fichiers CSV au format 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\\");
// Créer un objet CSV LoadOptions
intrusive_ptr<ILoadOptions> loadOptions = Factory::CreateILoadOptions(LoadFormat_CSV);
// Charger le fichier Excel d'entrée
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.csv")), loadOptions);
// Enregistrer le fichier CSV de sortie
workbook->Save(outDir->StringAppend(new String("Sample1_out.xlsx")), SaveFormat_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 à convertir des fichiers Excel au format CSV et des fichiers CSV au format Excel (XLS/XLSX) à l’aide de C++. Aspose.Cells for C++ est une vaste API qui fournit de nombreuses fonctionnalités supplémentaires pour travailler avec des fichiers Excel. Vous pouvez explorer l’API en détail en utilisant la documentation officielle. En cas de questions, n’hésitez pas à nous contacter sur notre forum d’assistance gratuit.