Convertir Excel en CSV et CSV en Excel en utilisant C++

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

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++.

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.

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++.

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.

Voir également