Package importation.xls

Source Code of importation.xls.XlsImportateur

package importation.xls;

import java.io.InputStream;

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Vector;

import jxl.Sheet;
import jxl.Workbook;

/**
*<p> XlsImportateur c'est une classe qui importe les fichiers excel</p> 
* <p>Il parcoure les ligne et les colonnes, il d�code la ligne et l'ajoute dans la liste des objets � importer</p>
*
* @author Kasandra
* @param <T>
*/
public class XlsImportateur<T> {
 
  /**
   * importe les fichiers externes au format Xls
   * il re�oit en param�tre
   * @param fluxFichier : le flux d'entr�e
   * @param nomDeLaFeuille : le nom de la feuille � importer
   * @param decodeur : de la feuille excel
   *
   * @return objetsImportes
   *
   * @throws Exception : g�n�re une exception au cas o�, l'importation �choue
   */
    public Collection<T> importe(InputStream fluxFichier, String nomDeLaFeuille, IXlsDecodeur<T> decodeur) throws Exception {
       
      Vector<T> objetsImportes = new Vector<T>();
        Workbook classeur = null;
       
        try {
         
            classeur = Workbook.getWorkbook(fluxFichier);
           
            Sheet feuille = classeur.getSheet(nomDeLaFeuille);
           
            final int nombreDeLignes = feuille.getRows();
           
            int[] colonnesALire = decodeur.colonnesALire();
           
            for (int numeroDeLigne = 0; numeroDeLigne < nombreDeLignes; numeroDeLigne ++) {
                Map<Integer,String> ligne = new HashMap<Integer,String>();
               
                for (int numeroDeColonne : colonnesALire) {
                   
                  String valeurDeLaCellule = feuille.getCell(numeroDeColonne,numeroDeLigne).getContents();
                    ligne.put(numeroDeColonne,valeurDeLaCellule);
                }
               
                objetsImportes.add(decodeur.decode(ligne));
            }

        }
        finally {
            if (classeur != null) {
                classeur.close();
            }
        }
        return objetsImportes;
    }

}
TOP

Related Classes of importation.xls.XlsImportateur

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.