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

Langage Java Discussion :

Probleme de lenteur lors de l'export CSV


Sujet :

Langage Java

  1. #1
    Membre régulier Avatar de kodo
    Profil pro
    Chef de projet technique
    Inscrit en
    Mars 2006
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activité : Chef de projet technique

    Informations forums :
    Inscription : Mars 2006
    Messages : 300
    Points : 92
    Points
    92
    Par défaut Probleme de lenteur lors de l'export CSV
    Salut,
    je travaille sur une methode qui permet de retourner une chaine de caracteres à partir d'une liste de donnee.
    la liste est une ensemble des objets LigneBean, et chaque LigneBean possede une attribut ListeColumnBean.
    ListeColumnBean est une liste d'objets ColumnBean(chaque ColumnBean contient la valeur d'une colonne qui correspond à ma ligne).

    je recupere la chaine resultante de ma methode et je la passe à un objet de type ServletOutputStream afin de faire l'export CSV.

    le probleme est la lenteur de l'export CSV, lorsque ma liste de donnée devient tres grande.

    Ma methode pour creer la chaine de donnée à partir de ma liste de donnée.
    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
     
    public String maMethode(List listeLigneBean) {
     
    		StringBuffer buffer=new StringBuffer();
    		Iterator itListeLigne = listeLigneBean.iterator();
    		while (itListeLigne.hasNext()){
    			LigneBean ligne = (LigneBean) itListeLigne.next();
    			List listeColumn = ligne.getListeColumnBean();
    			// itération sur les colonnes.
    			Iterator itListeColumn = listeColumn.iterator();
    			while (itListeColumn.hasNext()){
    				ColumnBean column = (ColumnBean) itListeColumn.next();
    				buffer.append(column.getValue()).append(";");
    			}
    			buffer.append("\n");		
    		}
    		String data=buffer.toString();
    		return data;
    	}
    d'apres vous est ce que le probleme de la lenteur vient de ma methode ou j'ai besoin d'une api PUISSANTE qui fait l'export CSV?

    j'espere que j'étais clair et Merci pour votre aide.

  2. #2
    Membre chevronné
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Points : 2 208
    Points
    2 208
    Par défaut
    Salut,
    D'après ce que j'ai compris, le problème est la lenteur de l'export en csv, dans ce cas il faut poster le code qui fait l'export, utilises-tu des buffers ?

    @+


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  3. #3
    Membre régulier Avatar de kodo
    Profil pro
    Chef de projet technique
    Inscrit en
    Mars 2006
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activité : Chef de projet technique

    Informations forums :
    Inscription : Mars 2006
    Messages : 300
    Points : 92
    Points
    92
    Par défaut
    voila le code de l'export que j'appelle dans un servlet:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    	ServletOutputStream sos = resp.getOutputStream();
    	resp.setHeader("Expires", "0");
    	resp.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0");
    	resp.setHeader("Pragma", "public");
    	resp.setHeader("Content-Disposition", "attachment; filename=\"" + nomFichier + ".csv\"");
    	resp.setContentType("application/csv");
    	byte[] content = data.getBytes("ISO-8859-1");
    	resp.setContentLength(content.length);
    	sos.write(content);
    	sos.flush();
    	sos.close();

Discussions similaires

  1. [2008R2] probleme de lenteur lors de l'execution des requêtes
    Par guiguipeux dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 21/02/2013, 15h31
  2. [DisplayTag] Modifier le séparateur lors de l'export CSV
    Par ahlem83 dans le forum Taglibs
    Réponses: 2
    Dernier message: 21/10/2011, 16h18
  3. Réponses: 2
    Dernier message: 27/07/2010, 17h12
  4. Probleme de lenteur lors d'une recherche
    Par lilp1 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 23/06/2009, 16h19
  5. probleme de lenteur lors de l'execution d'une macro sous excel
    Par smartbis dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/05/2007, 08h49

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