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 :
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èmeCode: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++) { while(sheetToEdit.getCell(9,0) != null && j == 3505) { 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(); } }
J'espère que vous pourrez m'aider à me sortir de ce problème, en vous remerciant par avance
-----