Extraction des données excels de divers onglets vers un autre

cs_tatoufa Messages postés 52 Date d'inscription vendredi 30 octobre 2009 Statut Membre Dernière intervention 6 août 2012 - 26 mars 2012 à 10:22
cs_tatoufa Messages postés 52 Date d'inscription vendredi 30 octobre 2009 Statut Membre Dernière intervention 6 août 2012 - 5 avril 2012 à 12:03
Bonjour,
je veut extraire des données excels de diffèrent onglets vers un autre s'il vous plait j'ai besoin de votre aide et merci d'avance pour tous la communauté
bonne journée

15 réponses

cormandyr Messages postés 600 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 8 juillet 2016 11
26 mars 2012 à 10:44
salut,

la librairie JExcel te permets de faire ce genre de manipulation... j'ai pas fait la recherche, mais je sais qu'il y a un tuto quelque part sur le site pour expliquer comme l'utilisée...
0
cs_tatoufa Messages postés 52 Date d'inscription vendredi 30 octobre 2009 Statut Membre Dernière intervention 6 août 2012 1
26 mars 2012 à 10:54
salut ,
oui JExcel permet de lire et écrire ce type de fichier mais je cherche à extraire les données de différents onglets
merci de votre collaboration
0
cormandyr Messages postés 600 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 8 juillet 2016 11
26 mars 2012 à 11:08
Si je ne me trompe, les onglets sont appelés worksheet dans JExcel, donc en théorie, pas de soucis à naviguer dedans...
J'ai déjà du utiliser cette librairie pour générer des rapports qui au final contenait une dizaine d'onglets (pour reprendre ton terme) différents...
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
26 mars 2012 à 11:39
Bonjour,

Je confirme ce que dis cormandyr.

Un tuto : http://www.javafr.com/codes/UTILISATION-JEXCELAPI-LIRE-FICHIER-EXCEL-AVEC-JAVA_54075.aspx

Regarde la classe LireFIchier
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_tatoufa Messages postés 52 Date d'inscription vendredi 30 octobre 2009 Statut Membre Dernière intervention 6 août 2012 1
26 mars 2012 à 17:50
Bonjour,
s'il vous plait j'ai déjà faire une extraction des données d'une seul page
la question : est-ce-j'ajoute le code pour les différent onglets au code précèdent au bien je doit crée une autre class et auquel j'implémente le code que m'avez postées
merci beaucoup pour votre aide
0
cormandyr Messages postés 600 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 8 juillet 2016 11
27 mars 2012 à 08:04
Cela dépends de comment tu as organisé ton code...

La taille d'une classe n'a pas vraiment d'importance, le plus important c'est que la classe ne contienne que le code qui lui est propre... Si tout le code fait "la même chose", lire et traiter des données excel, tu peux le laisser dans la même classe...

Ce que je te conseillerai c'est de diviser ton code de manière à ce qu'il soit facilement maintenable et compréhensible...
0
cs_tatoufa Messages postés 52 Date d'inscription vendredi 30 octobre 2009 Statut Membre Dernière intervention 6 août 2012 1
27 mars 2012 à 10:07
Bonjour,
j'ai organiser mon class comme suit:
une class ecriturefichierexcel
une class lecturefichierexcel
est-ce-que je doit crée la class LireFIchier que vous ma postée ?et comment je relie entre ces class s'il vous plait
je vous remercie de tout mon cœur tous qui mon pousser vers l'avant
Bonne journée
0
cs_tatoufa Messages postés 52 Date d'inscription vendredi 30 octobre 2009 Statut Membre Dernière intervention 6 août 2012 1
5 avril 2012 à 10:14
Bonjour,
s'il vous plait lors de lecture du fichier. le code crée le fichier excel pour ça mais moi je veut qu'il lire les donnes d'un fichier existant
alors j'ai modifier le code comme ça :
workbook = Workbook.getWorkbook(("C:\\24.xls"));
l’erreur est : no suitable methode found for getworkbook
s'il vous plait qui peut m'aider
merci d'avance pour votre patience avec nous les débutants
0
cormandyr Messages postés 600 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 8 juillet 2016 11
5 avril 2012 à 10:22
Salut,

d'après la javadoc, il n'y a pas de méthode qui prend en parametre le nom du fichier, tu dois lui donner le fichier via un object File:
workbook = Workbook.getWorkbook(new File("C:\\24.xls"));


quelle version de la librairie JExcel utilises-tu?
0
cs_tatoufa Messages postés 52 Date d'inscription vendredi 30 octobre 2009 Statut Membre Dernière intervention 6 août 2012 1
5 avril 2012 à 11:18
j'utilise le Jexcel 2.6
0
cormandyr Messages postés 600 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 8 juillet 2016 11
5 avril 2012 à 11:32
Le lien vers la doc que j'ai donné est pour la version 2.6.10, mais cela ne change rien concernant le paramètre de la méthode... cela a-t-il résolu ton soucis?
0
cs_tatoufa Messages postés 52 Date d'inscription vendredi 30 octobre 2009 Statut Membre Dernière intervention 6 août 2012 1
5 avril 2012 à 11:52
c'est bon j'arrive a ouvrir un fichier excel existant mais je suis car lorsque je resolu un erreur un autre s'affiche maintenant les colonnes qui sont normalement afficher je ne les trouve pas dans l'autre fichier excel
merci pour votre aide
je sais que je vous fatigue
je suis vraiment désolée
0
cormandyr Messages postés 600 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 8 juillet 2016 11
5 avril 2012 à 11:54
? tu ne les trouves pas dans l'autre fichier?
0
cs_tatoufa Messages postés 52 Date d'inscription vendredi 30 octobre 2009 Statut Membre Dernière intervention 6 août 2012 1
5 avril 2012 à 12:00
oui je ne trouve pas le contenue des colonnes
0
cs_tatoufa Messages postés 52 Date d'inscription vendredi 30 octobre 2009 Statut Membre Dernière intervention 6 août 2012 1
5 avril 2012 à 12:03
mon code est le suivant :

j'ai 17 onglets je tests seulement sur les 2 premiers

public class Excel {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {

Workbook workbook = null;
try {
/* Récupération du classeur Excel (en lecture) */
workbook = Workbook.getWorkbook(new File("C:\\24.xls"));

/* Un fichier excel est composé de plusieurs feuilles, on y accède de la manière suivante*/
Sheet sheet = workbook.getSheet(0);
Sheet sheet1 = workbook.getSheet(0);
Sheet sheet2 = workbook.getSheet(0);
Sheet sheet3 = workbook.getSheet(0);
Sheet sheet4 = workbook.getSheet(0);
Sheet sheet5 = workbook.getSheet(0);
Sheet sheet6 = workbook.getSheet(0);
Sheet sheet7 = workbook.getSheet(0);
Sheet sheet8 = workbook.getSheet(0);
Sheet sheet9 = workbook.getSheet(0);
Sheet sheet10 = workbook.getSheet(0);
Sheet sheet11 = workbook.getSheet(0);
Sheet sheet12= workbook.getSheet(0);
Sheet sheet13 = workbook.getSheet(0);
Sheet sheet14 = workbook.getSheet(0);
Sheet sheet15 = workbook.getSheet(0);
Sheet sheet16 = workbook.getSheet(0);
/* On accède aux cellules avec la méthode getCell(indiceColonne, indiceLigne) */
Cell a1 = sheet.getCell(0,0);




/* On peut également le faire avec getCell(nomCellule) */
Cell c5 = sheet.getCell("C5");



/* On peut récupérer le contenu d'une cellule en utilisant la méthode getContents() */
String contenuA1= a1.getContents();
String contenuC5 = c5.getContents();

System.out.println(contenuA1);
System.out.println(contenuC5);
}
catch (BiffException | IOException e) {
}
finally {
if(workbook!=null){
/* On ferme le worbook pour libérer la mémoire */
workbook.close(); }

WritableWorkbook workbook2 = null;
try {
/* On créé un nouveau worbook et on l'ouvre en écriture */
workbook2 = Workbook.createWorkbook(new File("exemple9.xls"));



/* On créé une nouvelle feuille (test en position 0) et on l'ouvre en écriture */
WritableSheet sheet = workbook2.createSheet("A1.1", 0);
WritableSheet sheet1 = workbook2.createSheet("A1.2", 1);
/* Creation d'un champ au format texte */
Label label = new Label(0, 0, "position A1");
sheet.addCell(label);
Label label2 = new Label(1, 4, "toutou A1");
sheet1.addCell(label2);

/* Creation d'un champ au format numerique */
Number number = new Number(0, 1, 3.1459);
sheet.addCell(number);

/* On ecrit le classeur */
workbook2.write();

}
catch (IOException e) {
e.printStackTrace();
}
catch (RowsExceededException e) {
e.printStackTrace();
}
catch (WriteException e) {
e.printStackTrace();
}
finally {
if(workbook!=null){
/* On ferme le worbook pour libérer la mémoire */

workbook.close();
}

}
}

}

}




//<editor-fold defaultstate="collapsed" desc="comment">

//</editor-fold>
0
Rejoignez-nous