[JXL] Utilisation de l'api
Bonjour,
Je me permet de demander votre aide, alors voila j'ai un fichier excel avec 21 colonnes et 4540 lignes, mon excel est coupé en deux, je veux dire que de la ligne 1 a 3505 il y a des informations et de la ligne 3507 a 4540 il y a des informations, j'ai réussi à extraire toutes les informations que je voulais, maintenant ce que je n'arrive pas à faire c'est que cell2 prend la valeur de la concaténation de cell2 + cell3 donc de modifier la feuille sur laquelle je suis en train de travailler, donc modifier un exel déjà existant et pas en recréer 1
Voici le code jusqu'a présent :
Code:
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
|
public class Main {
public static void main(String[] args) throws IOException, WriteException, BiffException {
// Permet d'ouvrir et de lire le fichier voulu
Workbook workbook = Workbook.getWorkbook(new File("E:\\A11_TOUTES_ENSEMBLE_après_purge_Avec_légendes_300_dpi.xls"));
// Permet de faire une copie du fichier excel source et permet d'acceder a la première feuille du fichier excel
WritableWorkbook workbookCopy = Workbook.createWorkbook(new File("E:\\A11_TOUTES_ENSEMBLE_après_purge_Avec_légendes_300_dpi.xls"), workbook);
WritableSheet sheetToEdit = workbookCopy.getSheet(0);
// Variable permettant d'enregistrer les informations extraites
Cell cell = null;
Cell cell1 = null;
Cell cell2 = null;
Cell cell3 = null;
// Suite de for permettant de recuperer les informations dans des colonnes specifiques
for(int j = 0; j < 3505; j++) {
cell = sheetToEdit.getCell(3, j);
// System.out.println(cell.getContents());
}
for(int j = 3507; j < sheetToEdit.getRows(); j++) {
cell1 = sheetToEdit.getCell(3,j);
// System.out.println(cell1.getContents());
}
for(int j = 0; j < 3505; j++) {
cell2 = sheetToEdit.getCell(9, j);
// System.out.println(cell2.getContents());
}
for(int j = 3507; j < sheetToEdit.getRows(); j++) {
cell3 = sheetToEdit.getCell(9,j);
// System.out.println(cell3.getContents());
}
// Boucle for permettant de changer le contenu de toutes les lignes dans une colonne specifique
for(int j = 0; j < 3505; j++) {
WritableCell c = sheetToEdit.getWritableCell(j,9);
if(cell.equals(cell1) && cell2.equals(cell3)) {
String cont = c.getContents();
System.out.println("contenu actuel"+ cont);
Label label = (Label) c;
label.setString(cell2+"_"+cell3);
}
}
// Permet decrire et de fermer le fichier et de rafraichir la memoire
workbookCopy.write();
workbookCopy.close();
}
} |
Ca fait 1 journée et demi que je suis coincé sur ça, donc ca serait vraiment cool si quelqu'un pourrait m'aider à me sortir de problème
J'espère que vous pourrez m'aider à me sortir de ce problème, en vous remerciant par avance
Edit : Le problème vient du fait qu'il ne rentre pas dans la condition if et quand j’enlève la condition il me supprime tout le contenu de mon excel