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 :

Télécharger un fichier Excel


Sujet :

Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 47
    Points : 40
    Points
    40
    Par défaut Télécharger un fichier Excel
    Bonjour bonjour.

    Je vous demande à nouveau votre aide pour ce problème.

    Dans mon programme je dois récupérer à chaque lancement un fichier excel .xls et l'utiliser pour initialiser mes données.
    Je connais le nom du document, l'addresse où je peux aller pour le télécharger directement via un navigateur internet, mais malgré cela et les multiples codes trouvés sur internet et testés je n'arrive pas à le télécharger, j'ai toujours une erreur du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (FileLength == -1) {
    		 throw new IOException("Fichier non valide.");
    		 }
    Mon fichier est donc toujours vide et mon programme plante.
    Comment télécharger un fichier excel ?
    Comment faire pour l'utiliser par la suite (en utilisant la fonction getResourceAsStream())? Est-ce possible de mettre le fichier téléchargé dans le répertoire du jar? Comment éventuellement le supprimer par la suite?

    Cela fait beaucoup de questions, n'hésitez pas à me demander des précisions.

    Edit : pour le moment je pense que c'est plus un problème d'url mais même en faisant un copier de l'adresse de la cible avec le clic droit, cela ne fonctionne pas.
    Edit 2: bon maintenant je sais que c'est parce que c'est un error code 401 : Server returned HTTP response code: 401

  2. #2
    Membre chevronné
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Points : 1 984
    Points
    1 984
    Par défaut
    Visiblement, c'est un probleme de droit. Il faut t'identifier. En utilisant un browser, tu arrives à recuperer ton fichier ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 47
    Points : 40
    Points
    40
    Par défaut
    Bon j'ai cherché et j'ai fini par trouver (comme quoi avec persévérance et obstination).

    Donc j'avais bien un problème de droit. En plus de l'api io commons (franchement j'aime les types d'apache), je me suis servi de ce code : http://java.mesexemples.com/programm...uestingprompt/

    Et donc ça a donné ça comme code (pour ceux qui auraient le même problème à l'avenir :

    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
    49
    50
    51
    52
    package controller;
    import java.io.File;
    import java.net.Authenticator;
    import java.net.InetAddress;
    import java.net.PasswordAuthentication;
    import java.net.URL;
     
    import org.apache.commons.io.FileUtils;
     
    public class UrlHelper {
     
    	  private String fichier;
     
    	  public UrlHelper() {
     
    		  Authenticator.setDefault(new Authenticator()
    	    	 {
     
    	  protected PasswordAuthentication getPasswordAuthentication() {
    	    String prompt = getRequestingPrompt();
    	    System.out.println(prompt);
    	    String host = getRequestingHost();
    	    System.out.println(host);
    	    InetAddress adresseIP = getRequestingSite();
    	    System.out.println(adresseIP);
    	    int port = getRequestingPort();
    	    System.out.println (port);
     
    	    String username = "votre username";
    	    String password = "votre mot de passe";
    	    return new PasswordAuthentication(username, password.toCharArray());
    	  }
    	});
     
    		  URL dl = null;
    	        File fl = null;
    	        try {
    //Ici je vais télécharger mon fichier directement dans le répertoire du projet
    	        	fichier="Monfichier.xls";
    	            fl = new File(fichier);
    	        	dl = new URL("L'adresse du fichier");
    	            FileUtils.copyURLToFile(dl, fl,10000,10000);
    	        } catch (Exception e) {
    	            System.out.println(e);
    	        }
     
    		 } 
     
    		 public String getFichier(){
    			 return fichier;
    		 }
     }
    Et ensuite à l'appel dans la classe qui fait appel au fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    UrlHelper addresse= new UrlHelper();
            	  POIFSFileSystem fs = new POIFSFileSystem(Dico3.class.getResourceAsStream(addresse.getFichier()));
    Ca marche pour moi pour le moment.

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

Discussions similaires

  1. JXLS, Télécharger un fichier Excel
    Par Devloppor dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 15/04/2015, 12h27
  2. Réponses: 11
    Dernier message: 28/01/2015, 10h59
  3. [XL-2010] VBA - Télécharger deux fichier excel depuis yahoo finance
    Par larson101 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 02/05/2011, 15h43
  4. [À télécharger] ADO : Lire un fichier "excel sans excel"
    Par SfJ5Rpw8 dans le forum Vos téléchargements VBScript
    Réponses: 3
    Dernier message: 15/01/2011, 14h43
  5. Télécharger fichier excel
    Par moumoune65 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 10/06/2008, 14h28

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