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

Java Discussion :

Piloter Word 2003 via Java


Sujet :

Java

  1. #1
    Membre confirmé
    Inscrit en
    Août 2008
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 87
    Par défaut Piloter Word 2003 via Java
    Bonjour;

    je débute en Java, et je me suis fait envie de savoir comment piloter Word (Ouvrir un fichier .doc, Ecrire du texte avec un format précise, et Enregistrer le doc)

    Je cherche la methode la plus facile et pratique.

    Merci.

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 097
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 097
    Par défaut
    Tu peux le faire avec http://jdde.pretty-tools.com/ par exemple. Ca m'a bien depanné pour faire le même genre de chose avec Access.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 98
    Par défaut
    Bonjour,

    http://poi.apache.org/

    Bonne lecture

  4. #4
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Si c'est ce que tu cherches à faire, vas plutôt faire un tour du coté de .NET, plateforme pour laquelle microsoft fournit un SDK.

    Java n'est pas vraiment prévu pour communiquer avec office.

    Par contre piloter OpenOffice ça c'est jouable vu qu'OpenOffice propose un SDK java

  5. #5
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 097
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 097
    Par défaut
    Je ne vois franchement pas pourquoi ne pas utiliser les DDE (jdde en java- dans un cas comme celui ci ou il est question "PILOTER" une autre application sans forcement avoir d'api ou de sdk.

    C'est exactement prevu pour, et ca fonctionne peux importe le logiciel.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Citation Envoyé par wax78 Voir le message
    Je ne vois franchement pas pourquoi ne pas utiliser les DDE (jdde en java- dans un cas comme celui ci ou il est question "PILOTER" une autre application sans forcement avoir d'api ou de sdk.

    C'est exactement prevu pour, et ca fonctionne peux importe le logiciel.

    Ouais sauf que bon la force de java c'est justement d'être multi plateforme.

    Si on commence à se limiter à une seule plateforme, autant prendre des outils qui sont vraiment prévus pour et permettent bien plus dessus... Le choix de java sur ce plan là est quand même un poil limitant.

  7. #7
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 097
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 097
    Par défaut
    Certes tu n'as pas tort MAIS Word tourne sous Microsoft et est Microsoft (ce qui n'est deja pas top top .
    Il n'a donc jamais été question d'être portable, mais je partage neanmoins ton avis.
    Mais je voulais donner uniquement la solution au problème tel qu'il l'a posé, ce n'est qu'une demi solution, la bonne solution etant bien entendu comme tu le dis d'utiliser ce qu'il faut la ou il faut on est bien d'accord
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  8. #8
    Membre confirmé
    Inscrit en
    Août 2008
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 87
    Par défaut
    Bonjour ;

    Merci beaucoup pour l'aide, j'ai choisi de travailler avec JDDE, j'ai lu un peu sur le site http://jdde.pretty-tools.com/ et pour comprendre, J'ai essayé d'exécuter les exemples de code y présentés: j'ai copier/coller leur code, j'ajoute le .jar (pretty-tools-JDDE-1.0.1.jar) j'exécute le code censé effectuer un traitement sur Excel:
    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
    48
     
    import com.pretty_tools.dde.client.DDEClientConversation;
    import com.pretty_tools.dde.client.DDEClientException;
    import com.pretty_tools.dde.client.DDEMLException;
     
     
    public class ExcelExample
    {
        public static void main(String[] args)
        {
            try
            {
                // DDE client
                final DDEClientConversation conversation = new DDEClientConversation();
     
                conversation.setTimeout(3000);
                conversation.connect("Excel", "Sheet1");
                try
                {
                    // Requesting A1 value
                    System.out.println("A1 value: " + conversation.request("R1C1"));
                    // Changing cell A1 value to "We did it!"
                    conversation.poke("R1C1", "We did it!");
                    conversation.poke("R2C2", "We did it again!".getBytes());
                    // Sending "close()" command
                    conversation.execute("[close()]");
                    // or we can use byte array to send command
                    //conversation.execute("[close()]\0".getBytes());
                }
                finally
                {
                    conversation.disconnect();
                }
            }
            catch (DDEMLException e)
            {
                System.out.println("DDEMLException: 0x" + Integer.toHexString(e.getErrorCode()) + " " + e.getMessage());
            }
            catch (DDEClientException e)
            {
                System.out.println("DDEClientException: " + e.getMessage());
            }
            catch (Exception e)
            {
                System.out.println("Exception: " + e);
            }
        }
    }
    Problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Exception in thread "main" java.lang.UnsatisfiedLinkError: no JavaDDE in java.library.path
    	at java.lang.ClassLoader.loadLibrary(Unknown Source)
    	at java.lang.Runtime.loadLibrary0(Unknown Source)
    	at java.lang.System.loadLibrary(Unknown Source)
    	at com.pretty_tools.dde.client.DDEClientConversation.<clinit>(DDEClientConversation.java:381)
    	at ExcelExample.main(ExcelExample.java:17)
    J'ignore où est le problème exactement !
    Besoin de votre aide
    __________________________________
    Rien n'est impossible, il suffit de savoir comment !

  9. #9
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 097
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 097
    Par défaut
    Il faut que tu mette Jdde.dll dans le classpath.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  10. #10
    Membre confirmé
    Inscrit en
    Août 2008
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 87
    Par défaut
    reBonjour;

    D'abords, merci de vouloir m'aider wax78, sinok et slimak
    j'ai essayé d'ajouter le .dll dans le ClassPath, mais j'arrive toujours pas ! Sous NetBeans quand je fais:

    Propreties/Library/Run/ClassPath/add

    ça me donne la main d'ajouter seul les fichier du format(.zip et .jar) ce qui m'est impossible de voir/ajouter le fichier .dll j'ai cherché des moyens comment faire via l'interface NetBeans, aucun resultat. j'ai tenté en le mettant manellement dans le dossier C:\programFiles\java\jdk\bin. ça donne rien.

  11. #11
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Il faut que tu mettes la dll dans le même répertoire que le jar de JDDE.

Discussions similaires

  1. Peut-on piloter Word avec Java et comment ?
    Par laurent_s dans le forum Documents
    Réponses: 12
    Dernier message: 08/08/2011, 09h35
  2. Piloter OpenOffice via Java
    Par feasil dans le forum Documents
    Réponses: 6
    Dernier message: 27/05/2009, 09h33
  3. Interroger /Piloter un scanner via java
    Par hajarussa dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 06/04/2009, 12h12
  4. Accéder à Microsoft Excel, Word via Java ? Possible?
    Par ADONET dans le forum Documents
    Réponses: 8
    Dernier message: 27/01/2006, 20h16
  5. Réponses: 3
    Dernier message: 16/12/2005, 15h30

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