DEV Community

Liam Anderson
Liam Anderson

Posted on

Comment créer des fichiers Excel avec C++

Introduction

Les fichiers Excel sont devenus des outils omniprésents pour l'organisation, l'analyse et la présentation de données dans divers secteurs et domaines. La création de fichiers Excel permet aux utilisateurs de structurer et de manipuler des données avec facilité, ce qui conduit à de meilleures informations et à une prise de décision éclairée. Dans cet article, nous vous montrerons comment créer des fichiers Excel en utilisant C++.

Nous aborderons les sujets suivants :

  • Créer un fichier Excel en ajoutant directement des données aux cellules avec C++
  • Créer un fichier Excel en utilisant des données issues de tableaux avec C++

Installer la bibliothèque requise

Pour créer des fichiers Excel dans des applications C++, nous pouvons utiliser Spire.XLS for C++, qui est une bibliothèque puissante pour créer, lire, modifier et convertir des fichiers Excel dans des applications C++.

Vous pouvez installer Spire.XLS for C++ via NuGet en suivant les étapes suivantes :

  • Ouvrez la Package Manager Console.
  • Exécutez la commande suivante : Install-Package Spire.Xls.Cpp

Créer un fichier Excel en ajoutant directement des données aux cellules avec C++

Spire.XLS for C++ prend en charge l'ajout de différents types de données tels que du texte, des nombres, des formules, des images, et bien plus encore, aux fichiers Excel.

Voici un exemple simple qui montre comment créer un fichier Excel et ajouter du texte et des valeurs numériques à des cellules spécifiques du fichier avec C++ :

#include "Spire.Xls.o.h"; 
using namespace Spire::Xls; 

int main() { 
    // Spécifiez le chemin et le nom du fichier de sortie 
    std::wstring outputPath = L"Output\\"; 
    std::wstring outputFile = outputPath + L"WriteIndividualValuesToCells.xlsx"; 

    // Crée un objet Workbook 
    intrusive_ptr<Workbook> workbook = new Workbook(); 

    // Obtient la première feuille 
    intrusive_ptr<Worksheet> sheet = dynamic_pointer_cast<Worksheet>(workbook->GetWorksheets()->Get(0)); 

    // Ajoute du texte et des nombres aux cellules spécifiées 
    sheet->GetRange(1, 1)->SetText(L"Nom"); 
    sheet->GetRange(1, 2)->SetText(L"Âge"); 
    sheet->GetRange(1, 3)->SetText(L"Département"); 
    sheet->GetRange(1, 4)->SetText(L"Date d'embauche"); 
    sheet->GetRange(2, 1)->SetText(L"Hazel"); 
    sheet->GetRange(2, 2)->SetNumberValue(29); 
    sheet->GetRange(2, 3)->SetText(L"Marketing"); 
    sheet->GetRange(2, 4)->SetText(L"2021-02-26"); 
    sheet->GetRange(3, 1)->SetText(L"Tina"); 
    sheet->GetRange(3, 2)->SetNumberValue(27); 
    sheet->GetRange(3, 3)->SetText(L"Ressources humaines"); 
    sheet->GetRange(3, 4)->SetText(L"2020-07-13"); 
    sheet->GetRange(4, 1)->SetText(L"Amy"); 
    sheet->GetRange(4, 2)->SetNumberValue(35); 
    sheet->GetRange(4, 3)->SetText(L"Développement"); 
    sheet->GetRange(4, 4)->SetText(L"2019-04-01"); 

    // Ajuste la largeur des colonnes automatiquement 
    sheet->GetAllocatedRange()->AutoFitColumns(); 

    // Applique un style à la première ligne 
    intrusive_ptr <CellStyle> style = dynamic_pointer_cast<CellStyle>(workbook->GetStyles()->Add(L"newStyle")); 
    style->GetFont()->SetIsBold(true); 
    sheet->GetRange(1, 1, 1, 4)->SetStyle(style); 

    // Enregistre dans un fichier 
    workbook->SaveToFile(outputFile.c_str(), ExcelVersion::Version2016); 
    workbook->Dispose(); 
} 
Enter fullscreen mode Exit fullscreen mode

Créer un fichier Excel en utilisant des données issues de tableaux avec C++

Spire.XLS for C++ vous permet également de créer des fichiers Excel en utilisant des données provenant de sources de données existantes telles que des tableaux.

Voici un exemple simple qui montre comment créer un fichier Excel en utilisant des données provenant de tableaux :

#include "Spire.Xls.o.h"; 
using namespace Spire::Xls; 

int main() { 
    // Spécifiez le chemin et le nom du fichier de sortie 
    std::wstring outputPath = L"Output\\"; 
    std::wstring outputFile = outputPath + L"WriteDataFromArrays.xlsx"; 

    // Crée un objet Workbook 
    intrusive_ptr<Workbook> workbook = new Workbook(); 

    // Obtient la première feuille 
    intrusive_ptr<Worksheet> sheet = dynamic_pointer_cast<Worksheet>(workbook->GetWorksheets()->Get(0)); 

    // Définit les en-têtes de colonne 
    std::vector<std::wstring> headers = { L"Nom", L"Âge", L"Département", L"Date d'embauche" }; 
    for (int col = 0; col < headers.size(); col++) { 
        sheet->GetRange(1, col + 1)->SetText(headers[col]); 
    } 

    // Définit les données à partir de tableaux 
    std::vector<std::wstring> names = { L"Hazel", L"Tina", L"Amy" }; 
    std::vector<int> ages = { 29, 27, 35 }; 
    std::vector<std::wstring> departments = { L"Marketing", L"Ressources humaines", L"Développement" }; 
    std::vector<std::wstring> hireDates = { L"2021-02-26", L"2020-07-13", L"2019-04-01" }; 

    for (int row = 0; row < names.size(); row++) { 
        sheet->GetRange(row + 2, 1)->SetText(names[row]); 
        sheet->GetRange(row + 2, 2)->SetNumberValue(ages[row]); 
        sheet->GetRange(row + 2, 3)->SetText(departments[row]); 
        sheet->GetRange(row + 2, 4)->SetText(hireDates[row]); 
    } 

    // Ajuste la largeur des colonnes automatiquement 
    sheet->GetAllocatedRange()->AutoFitColumns(); 

    // Applique un style à la première ligne 
    intrusive_ptr <CellStyle> style = dynamic_pointer_cast<CellStyle>(workbook->GetStyles()->Add(L"newStyle")); 
    style->GetFont()->SetIsBold(true); 
    sheet->GetRange(1, 1, 1, headers.size())->SetStyle(style); 

    // Enregistre dans un fichier 
    workbook->SaveToFile(outputFile.c_str(), ExcelVersion::Version2016); 
    workbook->Dispose(); 
} 
Enter fullscreen mode Exit fullscreen mode

Conclusion

Dans cet article, nous avons expliqué comment créer des fichiers Excel en utilisant C++. Nous avons utilisé la bibliothèque Spire.XLS for C++ pour ajouter du texte, des valeurs numériques et des tableaux aux cellules d'un fichier Excel. Vous pouvez désormais utiliser ces exemples comme point de départ pour créer vos propres fichiers Excel personnalisés en utilisant C++.

Sujets connexes

Top comments (0)