
Informations
Année | 2010 |
---|---|
Catégorie | Projet étudiant |
Site | http://libexcel.sourceforge.net/ |
Société | ![]() |
Langage | C++ |
Compatibilité | Linux, Windows |
Présentation du projet
Le projet LibExcel s'inscrit dans le cadre du projet IESTA (Infrastructure d'Evaluation des Systèmes de Transport Aérien futurs) de l'ONERA (Office National d'Etudes et de Recherches Aérospatiales). Il a pour finalité de concevoir une bibliothèque de fonctions permettant de générer des fichiers Excel à partir d’un code C++. Cette bibliothèque est destinée au formatage des données de simulations réalisées par l’ONERA
Le projet LibExcel présente les caracteristiques suivantes :
- Multiplateforme
- Réutilisable dans n'importe quel projet C++
- Permet la création de fichiers excel CSV et XLS
- Permet la lecture de fichiers excel CSV et XLS
- Permet la modification de fichiers excel CSV et XLS
Après avoir obtenu les autorisations nécessaires, ce projet est devenu un projet "open source" : LibExcel.
Travail réalisé
Conception et développement d'une bibliothèque de fonctions d’interfaçage C++/Excel. Cette dernière se base sur deux bibliothèques déjà existantes :
Exemple
using namespace xlsFile;
int main()
{
/*Creation du fichier xls qui sera enregistré au chemin ./creation/monFichierXLs.xls*/
XLSFile xl("./creation/monFichierXLs.xls");
/*Creation d'une feuille dans le fichier*/
XLSSheet f = xl.newSheet("Sheet1");
/*Mise en forme des cellules*/
f.setRowHeight(1,200);
f.setColWidth(1,200);
/*Remplissage des cellules (ligne,colonne)*/
/*Cellule (1,1)*/
f.setText(1,1, "Un contenu");
f.setFontBold(1,1, BOLDNESS_BOLD);
f.setFontItalic(1,1, true);
f.setFontOrientation(1,1, ORI_TOPBOTTOMTXT);
f.setCellFrame(1,1, CLR_DARK_RED,BORDER_MEDIUM);
f.setFontHAlign(1,1, HALIGN_RIGHT);
/*Cellule (0,0)*/
f.setNumber(0,0, 3.5);
f.setFont(0,0, "serif");
f.setFontColor(0,0, CLR_ORANGE);
/*Cellule (0,4)*/
f.setNumber(0,4, 8);
f.setFontHAlign(0,4, HALIGN_CENTER);
f.setFontOutline(0,4, true);
/*Cellule (3,0)*/
f.setText(3,0, "Voici un test de creation de fichier xls");
f.setCellMerge(3,0,3, 4);
f.setCellBgColor(3,0, CLR_YELLOW);
f.setFontHAlign(3,0, HALIGN_CENTER);
f.setFontHeight(3,0, 18);
f.setCellBorderStyle(3,4, BORDER_RIGHT);
/*Test du remplissage par tableau*/
int tab[3][3]={{1,2,3},{4,5,6},{7,8,9}};
double tabD[3][4]={{1.4,0.2,0.3,0},{4,5.258,1.226,4.3},{7.8,0.18,9,778.1}};
string tabS[3][3]={{"a","b","c"},{"d","e","f"},{"g","h","i"}};
/*Creation d"une seconde feuille dans le fichier */
XLSSheet f2 = xl.newSheet("Feuille 2 test tableau");
f2.setTabNumber(&tab[0][0],3,3);
f2.setTabNumber(&tabD[0][0],3,4,4,4);
f2.setTabText(&tabS[0][0],3,3,10);
/*Enregistrement du fichier xls*/
xl.save();
return 0;
}