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 :

Ecrire un fichiers CSV à partir de 3 fichiers Excel


Sujet :

Documents Java

  1. #21
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 52
    Points : 22
    Points
    22
    Par défaut
    Je pense que j'ai un problème sur mon ffichier excel.

    Merci à tous pour votre aide

  2. #22
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 52
    Points : 22
    Points
    22
    Par défaut
    J'ai toujours un probleme pour passer d'excel à csv. Voici mon code mais ça ne marche pas :

    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
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
     
     
    String sFile = null, sFile1, sFile2, sFile3 = null;
    String inFilename = null;
    String outFilename = null;	
    HashMap files = new HashMap(1);
     
    sFile1 = "test1.xls";
    sFile2 = "test2.xls";
    sFile3 = "test3.xls";
     
    files.put(new Integer(0),sFile1);
     
     
    String repertoire = "C:\\data\\excel\\result\\";
     
     
    outFilename = repertoire + "Essai.txt";
     
    POIFSFileSystem fs = null;
    FileOutputStream fileOut = null;
    HSSFWorkbook workbook = null;
    HSSFSheet sheet = null;
    HSSFCell cel = null;
    PrintWriter oot = null;
    StringBuffer buf = null;
    String sType = null;
    String cellValue = null;
    HSSFRow row = null;
    fileOut = new FileOutputStream(new File(outFilename));
    oot = new PrintWriter(fileOut);
    buf = new StringBuffer();
    int nbRow = 0;
     
    for(int k = 0 ; k < files.size() ; k++) {
     
    	sFile = (String) files.get(new Integer(k));
    	inFilename = repertoire + sFile ;
     
    	fs = new POIFSFileSystem(new FileInputStream(new File(inFilename)));
    	workbook = new HSSFWorkbook(fs);
    	sheet = workbook.getSheetAt(0);
    	nbRow = sheet.getPhysicalNumberOfRows();
    	System.out.println("Nombre de ligne dans la sheet : " + nbRow);
    	File fileExist = new File(outFilename);
     
    	for(int i = 0 ; i < nbRow ; i++) {
    	  row = sheet.getRow(i);
    	  buf.setLength(0);
    	  for(short j = (short) 0 ; j <= (short) 52 ; j++) {
    	  cel = row.getCell(j);
     
    	  if( !row.getCell(j) == null ) {
    	    switch(row.getCell(j).getCellType()) {
    	      case HSSFCell.CELL_TYPE_BLANK :
    		cellValue = "";
    		break;
    	      case HSSFCell.CELL_TYPE_FORMULA :
    		cellValue = row.getCell(j).getCellFormula();
    		break;
    	      case HSSFCell.CELL_TYPE_NUMERIC :
    		double iValue = row.getCell(j).getNumericCellValue();
    		cellValue = String.valueOf(iValue);
    		break;
    	      case HSSFCell.CELL_TYPE_STRING :
    		cellValue = row.getCell(j).getStringCellValue();
    		break;
    	      default :
    	    }
     
     
    	  buf.append(cellValue);
     
    	  if(j < 52)
    		buf.append(";");
    	  }
    	}
     
    	buf.append("\r");
    	oot.println(buf.toString());
     
        }
     
    }
    oot.flush();
    oot.close();
    fileOut.close();
    ça me crée le fichier mais il est vide et je ne comprends toujours pas pourquoi.

    Merci de m'aider

  3. #23
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 52
    Points : 22
    Points
    22
    Par défaut
    en fait c'est toujours un probleme de NullPointerException. Je dois traiter les deux conditions suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if(row.getCell(j) != null {
       ......
    }
    else if(row.getCell(j) == null) {
      cellValue = "";
      buf.append(";");
    }
    Et là ça me crée bien le fichier avec tous les champs vides ou non, or avant j'avais que les champs avec une valeur

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/03/2008, 14h51
  2. Réponses: 0
    Dernier message: 07/02/2008, 16h09
  3. Réponses: 3
    Dernier message: 03/01/2008, 12h14
  4. Créer un fichier CSV à partir d'un recordset
    Par mouaa dans le forum VBA Access
    Réponses: 1
    Dernier message: 30/07/2007, 14h40
  5. Fichier CSV à partir un programme C
    Par Premium dans le forum C
    Réponses: 3
    Dernier message: 25/05/2006, 23h53

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