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

API standards et tierces Java Discussion :

Programme Java POI


Sujet :

API standards et tierces Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 11
    Points : 11
    Points
    11
    Par défaut Programme Java POI
    Bonjour à tous

    Dans ce programme si une cellule de ma feuille Excel est vide une exception se
    lève ,malgré que je le précise dans la méthode ContenuCellule par le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    	if(cell == null) {
    		value="";
    	}
    Quelqu'un aurait il une idée?
    Voici le programme.



    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
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
     
     
    package Package4;
     
    import java.awt.Font;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import javax.swing.JFrame;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.table.DefaultTableModel;
     
    import org.apache.poi.hssf.usermodel.HSSFCell;
    import org.apache.poi.hssf.usermodel.HSSFRow;
    import org.apache.poi.hssf.usermodel.HSSFSheet;
    import org.apache.poi.hssf.usermodel.HSSFWorkbook;
    import org.apache.poi.poifs.filesystem.POIFSFileSystem;
     
     
    	 /**
            # *
            # * @author Pokitos
            # * Fonctionne avec la library POI. (http://poi.apache.org/hssf/index.html);
            # * Cette classe permet d'importer un fichier excel (sauf de 2007) dans un jtable.
            # */
     
     
    	public class FichierXls {
     
     
    	 public static  void main(String [] args ) {   
    	//AvecExcel(File file) throws FileNotFoundException, IOException{ 
     
     
     
    		 try {
    	//Lecture du fichier excel 
    	 InputStream inp = new FileInputStream("C:\\Documents and Settings\\asuissa\\Bureau\\BDD.XLS");
     
    	 // recupère le fichier excel
    	 HSSFWorkbook wb = new HSSFWorkbook(new POIFSFileSystem(inp));
     
    	 //Recupére page 1 du fichier xls
    	 HSSFSheet sheet = wb.getSheetAt(0);
     
     
     
     
    	 //compte nombre de lignes de la feuille
    	 int Nrow = sheet.getLastRowNum();
    	 System.out.println("LE NOMBRE DE LIGNE DE LA FEULLE EST  "+Nrow+"\n");
     
     
     
     
    	 //parcours la feuille et on recupère les lignes une par une
    	 for(int i = 0; i<Nrow;i++){ //for1
    	 HSSFRow row = sheet.getRow(i);
     
    	 //parcours la ligne pour récupérer les colonnes
     
    	 if(row!=null){ //au moins une cellule dans la ligne
     
     
    		 //inferieur ou egal au nombre de cellule de la ligne
    	     int NombreMaxColonne=0;
    	     int st=0;
     
     
     
    	     //pour chaque ligne j est inf ou egal ou max de colonne
    	     for(int j = 0;j<NombreMaxColonne(sheet);j++){ //for2
     
    	 //Récupère la cellule puis sa valeur
     
    	 HSSFCell cell = row.getCell((short)j) ;
     
    	 //appelle la methode est celle ci lui affecte le bon typage
    	 Object value = ContenuCellule(cell);
    	 System.out.println(value.toString());
     
    	 } //fin for2 
     
    	 }//fin if
    	 }//fin for1
     
    	 inp.close();
     
    	 }catch(Exception e ) {
    		 e.printStackTrace();
    	 }
     
     
     
    	 } //fin main 
     
     
     
     
    	  private static int NombreMaxColonne(HSSFSheet sheet){
     
    		  int r = sheet.getLastRowNum();//recupere le dernier numero de ligne
    		  int max = 0;
    		  int s = 0;
    		  while(s<r){
    		  if(sheet.getRow(s) != null){ //recupere ligne 0
    		  int c = sheet.getRow(s).getLastCellNum();
    		  if(c>max){
    		  max = c;
    		  }
    		  }
    		  s++;
     
    		  }
    		  return max+1;
    		  } 
     
    	 /**
             * La cellule peut contenir différent type de valeur qui doivent être récupéré spécifiquement
            # */
    public static Object ContenuCellule(HSSFCell cell ) {
    	Object value=null;
     
    	if(cell == null) {
    		value="";
    	} 
    	else if(cell.getCellType() == HSSFCell.CELL_TYPE_BOOLEAN) {
            value=cell.getBooleanCellValue();
    	} 
    	else if(cell.getCellType() == HSSFCell.CELL_TYPE_ERROR) {
            value=cell.getErrorCellValue();
    	}
    	else if(cell.getCellType() == HSSFCell.CELL_TYPE_FORMULA) {
            value=cell.getCellFormula();
    	}
    	else if(cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
            value=cell.getNumericCellValue();
    	} 
    	else if(cell.getCellType() == HSSFCell.CELL_TYPE_STRING) {
            value=cell.getRichStringCellValue();
    	} 
    	return value;
    }
     
     
     
    }

  2. #2
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    570
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 570
    Points : 340
    Points
    340
    Par défaut
    Ou est levée l'exception, je n'ai pas compris ?

Discussions similaires

  1. [Avis] Les meilleurs programmes Java ?
    Par christopheJ dans le forum ImageJ
    Réponses: 69
    Dernier message: 07/10/2008, 01h12
  2. [Débutant] [Thread] Faire patienter un programme java....
    Par yoxx dans le forum Concurrence et multi-thread
    Réponses: 3
    Dernier message: 25/09/2005, 12h36
  3. [Apis]parser les arguments d'un programme Java
    Par sacofan dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 06/08/2005, 14h32
  4. [votre avis m'interesse] Interface avec un programme Java
    Par LineLe dans le forum Interfaces Graphiques en Java
    Réponses: 29
    Dernier message: 11/12/2004, 11h39
  5. Lancement d'un programme java depuis un script php
    Par gexti dans le forum Développement Web en Java
    Réponses: 8
    Dernier message: 07/05/2004, 17h40

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