IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Documents Java Discussion :

Projet Java - petite base de données Excel


Sujet :

Documents Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 12
    Par défaut Projet Java - petite base de données Excel
    Bonjour, je suis actuellement en première année de BTS informatique, et j'ai en cette fin d'année l'obligation de réaliser un stage en entreprise.
    En cette première semaine de stage, mon tuteur ma confié la tâche de réaliser un petit programme java à l'aide de Netbeans, le projet a pour but de
    gérer des réservations d'anniversaires et de centres. Une sorte de classeur/agenda

    Les données devront être enregistré sur un fichier excel sur le reseau local (.xlsx), je me demandais si c'était envisageable aisément a l'aide d'apache POI.

    J'ai réalisé très simplement toute l'interface graphique nécessaire a l'aide de plusieurs Jpanel présent dans la même Jframe (Cardlayout)...
    J'aurais donc besoin que mon programme sache lire/écrire dans les cellules de mon classeur. (lecture a l'ouverture, écriture a l'action d'un bouton)
    Lire afin de pouvoir afficher dans mon application les réservations déjà effectué, sur un Jcalendar, afin de savoir les jours complet, les places disponibles....
    Ecrire afin de pouvoir ajouter de nouvelles informations (présentes dans des Jtextfield par exemple) ou supprimer des réservations annulé, ce genre de chose.

    Je ne sais réellement pas comment m'y prendre une fois l'aspect graphique terminé, comment présenter le fichier excel, faire des feuilles séparées, la marche à suivre, j'ai très peu d’expérience et tout conseil/aide sera bonne à prendre !

    Merci à vous, un bon week end.

  2. #2
    Membre Expert
    Avatar de eulbobo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2003
    Messages : 786
    Par défaut
    Citation Envoyé par lucasmoreau22 Voir le message
    Les données devront être enregistré sur un fichier excel sur le reseau local (.xlsx), je me demandais si c'était envisageable aisément a l'aide d'apache POI.
    Je dirais même que c'est idéal pour écrire des fichiers Excel de manière simple !



    J'aurais donc besoin que mon programme sache lire/écrire dans les cellules de mon classeur. (lecture a l'ouverture, écriture a l'action d'un bouton)
    On reste sur du POI ici...

    Lire afin de pouvoir afficher dans mon application les réservations déjà effectué, sur un Jcalendar, afin de savoir les jours complet, les places disponibles....
    Ecrire afin de pouvoir ajouter de nouvelles informations (présentes dans des Jtextfield par exemple) ou supprimer des réservations annulé, ce genre de chose.

    Je ne sais réellement pas comment m'y prendre une fois l'aspect graphique terminé, comment présenter le fichier excel, faire des feuilles séparées, la marche à suivre, j'ai très peu d’expérience et tout conseil/aide sera bonne à prendre !
    Là ça se complique.... Pour pouvoir te répondre, j'aurai deux questions :
    - est-ce que plusieurs personnes vont utiliser le programme en même temps à partir du même fichier. Si oui, tu vas avoir des gros problèmes liés aux accès concurrents !
    - pourquoi gérer des feuilles séparées dans ton fichier Excel?

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 12
    Par défaut
    Citation Envoyé par eulbobo Voir le message
    Là ça se complique.... Pour pouvoir te répondre, j'aurai deux questions :
    - est-ce que plusieurs personnes vont utiliser le programme en même temps à partir du même fichier. Si oui, tu vas avoir des gros problèmes liés aux accès concurrents !
    - pourquoi gérer des feuilles séparées dans ton fichier Excel?
    Le programme ne sera ouvert que sur un seul poste à la fois, les gros problèmes semblent donc évités !
    Je pensais gérer une feuille pour les réservations d'anniversaires, une autre pour les réservations des centres. Mais effectivement, la taille d'une feuille de classeur excel ne
    semble pas réellement avoir de limite, c'est tout à fait envisageable de les concentrées sur la même.

  4. #4
    Membre Expert
    Avatar de eulbobo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2003
    Messages : 786
    Par défaut
    Citation Envoyé par lucasmoreau22 Voir le message
    Le programme ne sera ouvert que sur un seul poste à la fois, les gros problèmes semblent donc évités !
    Tu as pas idée....

    Je pensais gérer une feuille pour les réservations d'anniversaires, une autre pour les réservations des centres. Mais effectivement, la taille d'une feuille de classeur excel ne semble pas réellement avoir de limite, c'est tout à fait envisageable de les concentrées sur la même.
    Je voulais savoir s'il y avait un intérêt fonctionnel/organisationnel à ce que tu utilises plusieurs feuilles différentes. Ta réponse me fait dire que oui, alors reste dans cette optique !


    Du coup il ne reste que les problématiques de liens entre tes données et ton interface graphique?
    Ce que j'ai envie de te conseiller, c'est d'utiliser tes feuilles Excel comme les tables d'une base de données : stocke sur chaque ligne les informations que tu stockerai dans une table (pour une réservation, tu stockes la date de début et la date de fin)

    Commence par faire un modèle Objet représentant les données que tu vas manipuler. Ensuite, ben ça dépend beaucoup des données et de ce que tu veux en faire !

  5. #5
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 12
    Par défaut Modification fichier existant
    Bonjour, je reviens vous solliciter de l'aide.

    Effectivement, je pense qu'il ne reste plus que les problématiques de liens entre les données du classeur et mon interface graphique. Mais je pense que cela va être la partie la plus complexe du programme.

    Je me suis un peu intéressé à apache POI, j'ai trouver comment créer un classeur constituer de plusieurs feuilles, et d'écrire dans les cellules de celle-ci avec java, cependant, mon code me permet simplement de "créer" c'est à dire que je sais écrire dans les cellules de chaque feuilles, mais lorsque je modifie les informations(dans mon code), et que je run à nouveau le .java il me créer de nouvelle feuille avec de nouvelle cellules, et m'écrase donc les anciennes données. Il s'agit simplement d'une fonction de "génération" je suppose, et je ne parviens pas a trouver les commandes pour modifier les cellules que je souhaite d'un fichier déja existant.

    Ci joint, le petit bout de code qui me permet de générer mes feuilles, et d'y inséré des donnée(de simple nombre pour mes test) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    package textexcel;
     
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import org.apache.poi.hssf.usermodel.HSSFCell;
    import org.apache.poi.hssf.usermodel.HSSFRow;
    import org.apache.poi.hssf.usermodel.HSSFSheet;
    import org.apache.poi.hssf.usermodel.HSSFWorkbook;
     
    public class nouvellecellule {
     
        public static void main(
          String[] args) {
     
        HSSFWorkbook wb = new HSSFWorkbook();
        HSSFSheet sheet = wb.createSheet("ENFANTS");
        HSSFSheet sheet2 = wb.createSheet("ADOS");
        HSSFSheet sheet3 = wb.createSheet("CENTRES");
     
        HSSFRow row = sheet.createRow(0);
        HSSFCell cell = row.createCell((short)0);
        cell.setCellValue(25);
        row.createCell((short)1).setCellValue(50);
     
        HSSFRow row2 = sheet2.createRow(1);
        HSSFCell cell2 = row2.createCell((short)0);
        cell2.setCellValue(50);
        row2.createCell((short)1).setCellValue(100);
     
        HSSFRow row3 = sheet3.createRow(2);
        HSSFCell cell3 = row3.createCell((short)0);
        cell3.setCellValue(200);
        row3.createCell((short)1).setCellValue(500);
     
        FileOutputStream fileOut;
        try {
          fileOut = new FileOutputStream("monclasseur.xls");
          wb.write(fileOut);
          fileOut.close();  
        } catch (FileNotFoundException e) {
          e.printStackTrace();
        } catch (IOException e) {
          e.printStackTrace();
        }
      }
    }

  6. #6
    Membre Expert
    Avatar de eulbobo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2003
    Messages : 786
    Par défaut
    Dans ton code, au début, tu fais new HSSFWorkbook().... Donc tu repars de zéro à chaque fois avec ce code !

    Chaque fois que tu fais un new, tu crées un nouveau truc qui efface ce qui existait avant


    Essayes avec un truc comme ça pour lire les données (et ensuite, tu pourras en rajouter ou des modifier, mais n'oublie pas, new, ça écrase ce qui existait)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    FileInputStream file = new FileInputStream(new File("C:\\monfichierexcel.xls"));
    // lecture du fichier excel             
    HSSFWorkbook workbook = new HSSFWorkbook(file);
     
    // premiere feuille
    HSSFSheet sheet = workbook.getSheetAt(0);
     
    // iterateur sur les lignes
    Iterator<row> rowIterator = sheet.iterator();
     
    // iterateur sur les cellules de la ligne
    Iterator<cell> cellIterator = row.cellIterator();

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Info : Petit programme VBA avec base de donnée excel
    Par guismoman60 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 21/10/2013, 10h20
  2. Petit conseil pour un projet avec une base de données
    Par PasTaper dans le forum Débuter
    Réponses: 2
    Dernier message: 06/08/2012, 17h05
  3. Projet Automatiser une Base de donnée sous Excel en VBA
    Par raph_13 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 22/10/2011, 16h10
  4. Petite base de donnée sous excel
    Par Denti-fritz dans le forum Excel
    Réponses: 2
    Dernier message: 22/06/2007, 16h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo