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 :

Modifier un fichier Excel


Sujet :

Documents Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 35
    Points : 20
    Points
    20
    Par défaut Modifier un fichier Excel
    bonjour,
    j'ai un fichier .CSV et je lie son contenu via le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      public void txls() throws ClassNotFoundException, SQLException{
     
         Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
                c = DriverManager.getConnection( "jdbc:odbc:MM", "", "" );
                st = c.createStatement();
                String query = "select distinct Code_E from [CODE$] where Code_E > 0;";
                ResultSet rs = st.executeQuery( query );
    mais avant d'exécuter ce code là je dois effectuer de modification comme le nom de la fichier, le nom de la feuille le nom de la colonne et à la fin l’enregistre sous format .xls
    ma question alors c'est la suivante, comment est ce que je peux faire des modification dans le code pour pouvoir l’exécuter directement sans faire des manips à chaque fois que je voulais travailler avec.

    au plaisir de vous lire

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Ben déjà tu peux nous montrer le code que tu utilise pour faire le fichier excel, parce que le code qui lit la base de donneés nous est inutile

    ensuite, les ficheir csv, ce ne sont pas des fichiers excels. Il n'ont aucune autre donnée que les données brutes, pas de titre, de mise en forme, de feuille, de formules, ....

  3. #3
    Membre à l'essai
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 35
    Points : 20
    Points
    20
    Par défaut
    j'ouvre tout simplement le fichier .CSV avec microsoft excel et je fait les modifications deja situés.
    il y a aucun code

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    du coup je ne comprends pas du tout quelle est ta question :s

  5. #5
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    si je comprends bien tu veux faire un prog qui écrit un résultat de requête sql dans un xls au lieu d'un csv pour ne pas avoir à remettre à chaque fois les infos que tu y met à la mano avec excel.

    pour ça tu peux utiliser soit l'API POI (tu trouveras des exemples de code ici)

    il y a aussi, JExcelAPI
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 35
    Points : 20
    Points
    20
    Par défaut
    bonjour,
    je vous remercie d’avoir me répondre, je crois que j'ai mal expliqué mon problème
    en fait j'ai un fichier .csv qui contient les informations qui ressemble à ca :
    A B
    1007 10:15:00:00
    1007 10:15:00:00
    1007 10:15:00:00
    1015 10:30:00:00
    1015 10:30:00:00
    1029 10:40:00:00
    1029 10:40:00:00
    nom de la feuille (00530516)

    moi je dois insérer une ligne est la nommé comme Code_E et changer le nom de la feuille par CODE et l'enregistrer a la fin sous fichier .xls

    A B
    Code_E
    1007 10:15:00:00
    1007 10:15:00:00
    1007 10:15:00:00
    1015 10:30:00:00
    1015 10:30:00:00
    1029 10:40:00:00
    1029 10:40:00:00
    nom de la feuille (CODE)

    et par apres exécuter mon programme pour extraire seulement les valeur de la colonne A qui s'appel Code_E .
    le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      public void txls() throws ClassNotFoundException, SQLException{
     
         Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
                c = DriverManager.getConnection( "jdbc:odbc:MM", "", "" );
                st = c.createStatement();
                String query = "select distinct Code_E from [CODE$] where Code_E > 0;";
                ResultSet rs = st.executeQuery( query );
    j’espère être plus claire que précédemment
    bien à vous.

  7. #7
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par said.aghzil Voir le message
    bonjour,
    je vous remercie d’avoir me répondre, je crois que j'ai mal expliqué mon problème
    A vrai dire, c'est ni moins clair ni plus clair avec ces explications supplémentaires

    Citation Envoyé par said.aghzil Voir le message
    bonjour,
    en fait j'ai un fichier .csv qui contient les informations qui ressemble à ca :
    A B
    1007 10:15:00:00
    1007 10:15:00:00
    1007 10:15:00:00
    1015 10:30:00:00
    1015 10:30:00:00
    1029 10:40:00:00
    1029 10:40:00:00
    nom de la feuille (00530516)
    jusque là ça va

    donc tu charges ce fichier et tu le parses (pas de difficultés particulières)

    Citation Envoyé par said.aghzil Voir le message
    moi je dois insérer une ligne est la nommé comme Code_E et changer le nom de la feuille par CODE et l'enregistrer a la fin sous fichier .xls
    c'est le "comme Code_E" qui n'est pas très clair pour moi c'est quoi Code_E ?

    et nommer une ligne ?

    tu veux dire insérer une nouvelle ligne et mettre un code dans la colonne A et une valeur correspondant à ce code dans la colonne B ?

    Citation Envoyé par said.aghzil Voir le message
    A B
    Code_E
    1007 10:15:00:00
    1007 10:15:00:00
    1007 10:15:00:00
    1015 10:30:00:00
    1015 10:30:00:00
    1029 10:40:00:00
    1029 10:40:00:00
    nom de la feuille (CODE)
    donc comme je le disais pour générer un xls, tu peux utiliser POI, tu peux insérer des lignes, mettre les valeurs que tu veux dans les colonnes que tu veux, modifier le nom de la feuille de calcul, etc.

    Citation Envoyé par said.aghzil Voir le message
    et par apres exécuter mon programme pour extraire seulement les valeur de la colonne A qui s'appel Code_E .
    le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      public void txls() throws ClassNotFoundException, SQLException{
     
         Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
                c = DriverManager.getConnection( "jdbc:odbc:MM", "", "" );
                st = c.createStatement();
                String query = "select distinct Code_E from [CODE$] where Code_E > 0;";
                ResultSet rs = st.executeQuery( query );
    j’espère être plus claire que précédemment
    bien à vous.
    la je décroche, après avoir modifier ton fichier CSV en XLS en ayant insérer une ligne avec un truc qui vient de je ne sais pas ou, tu fais une requête dans un db avec en paramètre ce truc ?

    quelle est la pertinence de cette requête dans la question concernant la conversion/modification de ton CSV en XLS ?
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  8. #8
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    ok, donc si j'ai bien compris:
    tu as un CSV (vu l'extrait c'est pas tout a fait un CSV, mais soit)
    1) Tu dois le lire -> Utilise Fileinputstream / FileReader / BufferedReader pour ça
    2) Tu dois écrire tout ça dans une ficheir excel en donnant un nom à la feuille et en ajoutant quelques informations que tu a récupérées "ailleurs" -> utilise POI pour créer le fichier excel ou jexcelapi comme on te l'a dit
    3) Ensuite tu utilise le pont ODBC pour te servir de ce fichier comme d'une base de données -> Franchement, c'est une mauvais plan. Saute directement les étape 2 & 3 et écrit tes données dans une vraie base de données, je vois pas pourquoi tu t'emmerde avec excel.... Sauf si l'utilisateur dois pouvoir éditer par la suite le fichier excel.... De toutes façons, le pont ODBC / JDBC ne dois pas être utilisé en production, ça sert juste au prototypage. En plus le lien odbc / excel oblige à avoir une licence excel sur la machine où tourne ton java.

  9. #9
    Membre à l'essai
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 35
    Points : 20
    Points
    20
    Par défaut
    c'est le "comme Code_E" qui n'est pas très clair pour moi c'est quoi Code_E ?
    le colonne que j’insère dans le fichier je le nomme par Code_E juste un nom parce que dans .csv il existe pas du nom de colonne.

    tu veux dire insérer une nouvelle ligne et mettre un code dans la colonne A et une valeur correspondant à ce code dans la colonne B ?
    non j'ai besoin d'extraire juste les valeur de la colonne A (Code_E).

    la je décroche, après avoir modifier ton fichier CSV en XLS en ayant insérer une ligne avec un truc qui vient de je ne sais pas ou, tu fais une requête dans un db avec en paramètre ce truc ?
    quelle est la pertinence de cette requête dans la question concernant la conversion/modification de ton CSV en XLS ?
    toutes ces manipulations que je fais chaque fois je veux les informatisé dans un code java donc j'aurai aimé charger uniquement le fichier .csv et avoir à la fin les valeurs de la colonne A.
    merci bcq

Discussions similaires

  1. [Excel] Modifier un fichier
    Par Titus94120 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 10/06/2008, 08h42
  2. Utiliser et modifier un fichier excel en ligne
    Par nuts2207 dans le forum Excel
    Réponses: 1
    Dernier message: 02/04/2008, 18h43
  3. Réponses: 1
    Dernier message: 26/03/2008, 22h12
  4. [JexcelAPI]Modifier un fichier excel
    Par sissi_l dans le forum Documents
    Réponses: 3
    Dernier message: 01/06/2007, 01h36
  5. [VB] Ouvrir et modifier un fichier Excel en arrière-fond
    Par truman dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 14/04/2006, 18h49

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