import java.io.*; import java.io.File; import jxl.*; import jxl.write.*; import java.util.*; import jxl.read.biff.*; import java.util.ArrayList; import java.util.Iterator; import java.util.ListIterator; /** * Classe permettant de travailler avec des fichiers excel au format .xls * @author moi */ public class JExcel { /** Variable faisant reference au classeur excel */ private Workbook workbook; /** Variable faisant reference aux configurations du classeur excel */ private WorkbookSettings ws; /** Variable faisant reference aux chemin absolue vers le fichier excel */ private String filename; public static String path = "/home/xwz/public_html/jexcel/java/webapps/test/WEB-INF/classes/"; /** * Constructeur de base * @param filename adresse absolue d'un fchier .xls * @throws IOException si le fichier n'existe pas par exemple * @throws BiffException si l'API JExcel a un probleme avec l'ouverture du fichier excel */ public JExcel(String filename) throws IOException, BiffException { this.filename = filename; this.ws = new WorkbookSettings(); this.ws.setLocale(new Locale("fr", "FR")); this.workbook = Workbook.getWorkbook(new File(filename),this.ws); } /** * Destructeur de la classe qui permet de fermer le fichier avant que l'objet soit detruit */ protected void finalize() throws Throwable { this.workbook.close(); } /** * Permet de recuperer la liste des onglets presents dans le fichier excel * @return un tableau de String contenant tout les noms des onglets */ public String[] getSheetNames(){ String[] names = this.workbook.getSheetNames(); return names; } /** * Permet de recuperer une liste de nombre dans une colonne dont la lettre est inconnue mais la ligne des en-tete de colonne l'est. * @param tabName nom de l'onglet dans lequel la liste cherchee se citue * @param line ligne sur laquelle se citue les entetes de colonnes * @param title titre de la colonne a chercher * @return une liste de float contenant tout les nombres contenu dans la liste selectionnee */ public ArrayList getHorizontalNumberList(String tabName, int line, String title){ ArrayList list = new ArrayList(); // Recherche de la colonne concernee par l'en-tete de colonne souhaitee Sheet s = this.workbook.getSheet(tabName); int maxCols = s.getColumns(); Integer col=new Integer(-1); for(Integer i=0; i