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

Servlets/JSP Java Discussion :

exporter un fichier au format csv et Excel


Sujet :

Servlets/JSP Java

  1. #1
    Membre �clair� Avatar de mouss4rs
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    884
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 884
    Par d�faut exporter un fichier au format csv et Excel
    Bonjour tout le monde,

    j'aimerai exporter un fichier au format csv selon certains critere renseigner par l'utilisateur.
    voila ce que j'ai deja fait mais cela me renvoie une page blanche.

    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
     
     
     public String exportCSV( HttpServletRequest request,  HttpServletResponse response){
          try {
             String type = (String) request.getAttribute("type");
             String dateDebut = (String) request.getAttribute("dateDebut");
             String dateFin = (String) request.getAttribute("dateFin");
     
             if (type == null || type.equals("0")) {
                return null;
             }
             File fileRep = new File(Contexte.getInstance().getCheminApplication() + "log");
             // Créer le répertoire de log si inexistant
             if (!fileRep.exists()) {
                fileRep.mkdir();
             }
             File fileLog = new File(fileRep, "journal.log");
             String nomRapport = fileLog.getName();
             nomRapport = nomRapport.substring(0, nomRapport.indexOf("."));
     
             PrintWriter pt = response.getWriter();
             FileInputStream fr = new FileInputStream(fileLog);
             BufferedReader br = new BufferedReader(new InputStreamReader(fr, Encodage.UTF8));
     
             String lignelu = br.readLine(); // lire une 1ere ligne
             while (lignelu != null) { // tant qu'il ya des lignes
                // System.out.println("lignelu"+lignelu);
                StringTokenizer strt = new StringTokenizer(lignelu, ";"); //recuperer la ligne sous forme de token separer par un ; 
                String typeLigne = strt.nextToken(); // on prend le type sous forme de code
                System.out.println("typeLigne"+typeLigne);
                String typeAction = strt.nextToken();
                String dateRecup = strt.nextToken(); // on récupère la date de la ligne
                dateRecup = dateRecup.substring(7,11) + dateRecup.substring(3, 7) + dateRecup.substring(1, 3); // on la convertie en  yyyy/MM/dd   
                System.out.println("daterecup: " + dateRecup);
     
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
                Date dd = null, df = null, dr;
                dr = sdf.parse(dateRecup);
                if(dateDebut.length()>0){
                   dd = sdf.parse(dateDebut);   
                }
                if(dateFin.length()>0){
                   df = sdf.parse(dateFin);
                }
                System.out.println("dateDebut converti: "+dd); 
                System.out.println("dateDebut converti: "+df);
                if ( (type.equals("4") || typeLigne.equals(type)) && ((dateDebut.equals("")||!dr.before(dd)) && (dateFin.equals("")||!dr.after(df))) ){ //si le type de la ligne du fichier correspond au type rechercher
                                                                                                                                     // et si la date de debut contient rien ou date debut est <= dateDebut                                                                                                                  // et si la date fin contient rien  ou la date fin est >= dateFin
                   dateRecup = dateRecup.substring(8) + dateRecup.substring(4, 8) + dateRecup.substring(0, 4);
                   System.out.println("dateRecup"+dateRecup);
                   pt.print("<tr class='texte_liste'>"); //imprimer la balise d'ouverture d'une ligne dans un tableau
                   pt.print("<td class='entetelisteb'><div align='center'>"+ typeAction +"</div></td>");
                   pt.print("<td class='entetelisteb'><div align='center'>"+ dateRecup +"</div></td>");
     
                   System.out.println("un type trouvée compris dans la periode");
     
                   while (strt.hasMoreTokens()) { // tant qu'il ya des tokens
                      pt.print("<td class='entetelisteb'><div align='center'>" + strt.nextToken() + "</div></td>");
     
                   }
                   pt.print("</tr>");
                }
                lignelu = br.readLine();// relire une nouvelle ligne
             }
             fr.close();
     
     
             if (type.equals("csv")) {
                ecrireFichierDansFluxReponse(response, nomRapport, fileLog, "text/csv", true);
             }
          }
          catch (Exception e) {
             traiterErreur(request, response, e);
          }
          return null;
       }
    ma jsp:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    ...
     
    &nbsp;<input type="image" src="${pageContext.request.contextPath}/work/images/csv_logo.gif" width="20" height="17" onclick = "javascript:doAction('adminJournal.exportCSV','form1','nomMethod')" title="<fmt:message key="admin.journalActions.btnExportCSV.bulle"/>">
    <input type="image" src="${pageContext.request.contextPath}/work/images/excel_logo.gif" width="20" height="17" onclick = "javascript:doAction('adminJournal.exportExcel','form1','nomMethod')" title="<fmt:message key="admin.journalActions.btnExportExcel.bulle"/> ">
     
    ...
    quelqu'un a t-il un retour d'exp�rience ou une solution a me proposer ?

    merci d'avance

  2. #2
    Membre confirm�
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    49
    D�tails du profil
    Informations personnelles :
    �ge : 46
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 49
    Par d�faut
    Si tes donn�es sont ok je dirais que le probl�me est dans ta m�thode ecrireFichierDansFluxReponse.

    Peut tu poster son corp.

  3. #3
    Membre �clair� Avatar de mouss4rs
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    884
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 884
    Par d�faut
    salut,

    En fait, je la trouve pas dans l'application meme quand je fait ctrl + clic dessus. En faite, on me dit qu'elle h�rite de HttpAction.
    elle est d�fini comme ceci:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
     
    protected void ecrireFichierDansFluxReponse(javax.servlethttp.HttpServletResponse response, java.lang.String nomFichier, java.io.File fichier, java.lang.String typeMime, boolean attachement);

Discussions similaires

  1. R�ponses: 0
    Dernier message: 30/03/2009, 12h47
  2. [Format CSV] Import Excel
    Par sempire dans le forum Excel
    R�ponses: 1
    Dernier message: 01/08/2008, 21h52
  3. [ksh] Liste r�cursive des fichiers, au format CSV
    Par Neuromancien2 dans le forum Linux
    R�ponses: 2
    Dernier message: 19/02/2008, 23h41
  4. R�ponses: 4
    Dernier message: 15/01/2007, 11h53
  5. [phpMyAdmin] Exporter une requ�te au format CSV
    Par nicoaix dans le forum EDI, CMS, Outils, Scripts et API
    R�ponses: 2
    Dernier message: 07/02/2006, 18h05

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