Comment créer et populer un modèle de données dans le C++
Ce guide montre comment créer un livre de travail, populer les cellules avec des valeurs et des formules, appliquer les styles et enregistrer comme fichier de feuille d’écran à l’aide du Aspose.Cells FOSS pour la bibliothèque C++. Workbook, Worksheet, Cell,et Style.
Guide étape par étapes
Étape 1 : Démarrer la construction
Ajouter la bibliothèque Cells FOSS à votre projet CMake et relire le lien vers les Aspose.Cells.Foss.Cpp Objectif :
cmake_minimum_required(VERSION 3.15)
project(CreateSpreadsheet CXX)
set(CMAKE_CXX_STANDARD 17)
add_subdirectory(path/to/Aspose.Cells-FOSS-for-Cpp)
add_executable(CreateSpreadsheet main.cpp)
target_link_libraries(CreateSpreadsheet PRIVATE Aspose.Cells.Foss.Cpp)Étape 2 : Inclure les heads et définir le nomespace
Il y a des titres de classe par aspose/cells_foss/ Pour chaque classe que vous utilisez (Workbook.h, Worksheet.h, Cell.h, Style.h, Font.h, Color.h, CellArea.hPuis ouvrir le Aspose::Cells_FOSS Nom du site :
using namespace Aspose::Cells_FOSS;Étape 3 : Créer un livre de travail et nommer la feuille
Instantané Workbook,Récupérer la première feuille de travail par GetWorksheets()[0],Et il a donné son nom de l’affichage :
int main() {
Workbook workbook;
Worksheet& sheet = workbook.GetWorksheets()[0];
sheet.SetName("Sales");
return 0;
}Étape 4 : Ajouter des valeurs cellulaires
Appel à GetCells()["A1"].PutValue() Pour écrire des lignes de texte, les valeurs numériques et les booleans dans des cellules individuelles par adresse :
sheet.GetCells()["A1"].PutValue("Product");
sheet.GetCells()["B1"].PutValue("Price");
sheet.GetCells()["A2"].PutValue("Widget");
sheet.GetCells()["B2"].PutValue(9.99);
sheet.GetCells()["A3"].PutValue("Gadget");
sheet.GetCells()["B3"].PutValue(24.99);Étape 5 : Faites une formule
Appel à SetFormula() sur une cellule pour stocker un fil de formule compatible avec Excel; la formelle est évaluée par Excel lorsque le fichier est ouvert:
sheet.GetCells()["B4"].SetFormula("=SUM(B2:B3)");Étape 6 : Appliquer le style cellulaire
Obtenez le style avec Cell::GetStyle(),modifier et appliquer avec Cell::SetStyle(style):
Style headerStyle = sheet.GetCells()["A1"].GetStyle();
Font font;
font.SetBold(true);
font.SetColor(Color::FromArgb(255, 255, 255, 255));
headerStyle.SetFont(font);
headerStyle.SetPattern(FillPattern::Solid);
headerStyle.SetForegroundColor(Color::FromArgb(255, 34, 120, 212));
sheet.GetCells()["A1"].SetStyle(headerStyle);
sheet.GetCells()["B1"].SetStyle(headerStyle);Étape 7 : Mélanger les cellules
Utiliser Cells::Merge Pour combiner une cellule en un seul ensemble :
CellArea titleArea = CellArea::CreateCellArea("A1", "B1");
sheet.GetCells().Merge(0, 0, 1, 2);Étape 8 : Sauver le livre de travail
Appel à workbook.Save() avec un nom de fichier pour écrire la feuille d’écran comme un fichie XLSX, puis appeler Dispose() Pour libérer les ressources :
workbook.Save("sales.xlsx");
workbook.Dispose();Problèmes communs et fixations
Le style n’est pas appliqué après sauvegarde Toujours appeler Cell::SetStyle(style) modifier le style retourné directement ne s’applique pas les changements; vous devez explicitement la réinstaller.
Formule stockée comme string littéraire Utiliser SetFormula("=SUM(...)") pas non PutValue("=SUM(...)"). PutValue Il traite l’argument comme une ligne littéraire, pas une formule.
La cellule qui ne rend pas correctement Assurez-vous que les paramètres de fusion (roule, colonne, rowCount, ColonneCounta) s’étendent correctement à l’intervalle prévu.
Le livre de travail n’a pas de feuilles après la construction Un fichier de défaut est toujours créé par Workbook().- appeler GetWorksheets()[0] pour l’accéder.
Pas de téléphone Toujours appeler workbook.Dispose() pour libérer les ressources, en particulier dans les applications à long terme.
Questions fréquemment posées
Puis-je ajouter plusieurs feuilles de travail à un seul livre de travaux?
Oui, utilisez Workbook::GetWorksheets() pour accéder à la collection et ajouter des feuilles de manière programmée. assurez-vous que chaque feuille a un nom unique en utilisant Workbook::EnsureUniqueSheetName().
Comment définir un format numérique pour une cellule ?
Utiliser Style::SetNumberFormat(format) Avant de appeler Cell::SetStyle(style).Les filets de format suivent la syntaxe standard du format numéro Excel.
Puis-je appliquer le même style à plusieurs cellules ?
Obtenez le style une fois, modifiez-le, puis appelez SetStyle(style) sur chaque cellule cible.
La formule est-elle évaluée lorsqu’elle a été sauvée ?
Non. L’évaluation de la formule se produit dans Excel ou un lecteur compatible lorsque le fichier est ouvert. La bibliothèque écrit la ligne de formulaire à la cellule.
Combien de lignes et de colonnes peut-on tenir dans un feuille de travail ?
Chaque feuille de travail tient les données sur son réseau complet de rangs et de colonnes, suivant les dimensions standard du feuilleton.