Bonjour,
Je désire écrire dans un fichier qui est déja en lecture mais je ny'a arrive pas.
En faite j'aimerai juste écrire une variable dans une colonne de ce fichier (là ou c'est rouge).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88 int nbfeuille=0; //version .xls InputStream ist = new FileInputStream("C:/Users/LZ2059/Desktop/Projection_2012_Eq2.xls"); //pour ouvrir les fichiers xls de 2007 HSSFWorkbook wb2 = new HSSFWorkbook(ist); HSSFSheet sheet2 = wb2.getSheetAt(0); nbfeuille= wb2.getNumberOfSheets();//retourne le nombre de feuille renseigné HSSFRow row2 = null; HSSFCell cell2 = null; //version .xlsx String prenom_proj; Collator usCollator; //System.out.println("wb2.getNumberOfNames(): "+nbfeuille); // il faut définir la feuille qui sera alimenté: //Parcourir les feuilles du document //si la semaine correspond au libellé d'une feuille for (int g=0; g<nbfeuille; g++){//boucle de parcours des onglets sheet2 = wb2.getSheetAt(g); onglet=sheet2.getSheetName();// on récupère le nom de la feuille excel en String if(onglet.startsWith("S")){//si ca commence par "S0" //on enleve le "S" semaine_en_string=onglet.substring(1); // on converti le nom de l'onglet en Int onglet_conv = Integer.parseInt(semaine_en_string); System.out.println("onglet: "+onglet_conv); if(onglet_conv == semaine){//si la semaine de l'onglet du doc "extract.xls" //correspond à la semaine de l'année trouver dans le fichier "Projection_2012_Eq2.xls" System.out.println("onglet de la semaine "+onglet_conv+" TROUVEE !"); for (Iterator rowIt = sheet2.rowIterator(); rowIt.hasNext();){//boucle de parcours du fichier de ligne en ligne row2 = (HSSFRow) rowIt.next(); if(row2.getCell(0)!= null && row2.getRowNum() <= 19){// si la ligne est différent de null et inférieur ou égale à la 20ème ligne if(!row2.getCell(0).getStringCellValue().equals("Noms") && !row2.getCell(0).getStringCellValue().equals("EQUIPE") && !row2.getCell(0).getStringCellValue().equals("")){ //on récupère le 1er prénom du fichier Projection prenom_proj=row2.getCell(0).getStringCellValue().toUpperCase(); for (int d=0; d<tab.length;d++){ if(tab[0][d] != null || tab[1][d]!=null){//si l'une des cellules n'est pas null //System.out.println("Tab"+tab[0][d]); //System.out.println("prénom: "+prenom_proj); //Get the Collator for US English and set its strength to PRIMARY usCollator = Collator.getInstance(Locale.FRANCE); usCollator.setStrength(Collator.PRIMARY); if( usCollator.compare(prenom_proj, tab[0][d]) == 0 ){//si le prénom trouvé dans le fichier 'Projection_2012_Eq2.xlsx' correspond au prenom de l'extract Hermes //System.out.println("Strings are equivalent"); System.out.println("Agent: "+tab[0][d]+" Validation: "+tab[1][d]); //on récupère la ligne du prénom System.out.println("je suis à la ligne: "+row2.getCell(0).getRowIndex()); //on écrit dans la colonne I la validation du prénom trouvé cell2 = row2.getCell(8);// colonne(I) cell2 = row.createCell(8); cell2.setCellType(Cell.CELL_TYPE_NUMERIC); cell2.setCellValue(tab[1][d]); // Write the output to a file //pour ecrire dans le même fichier FileOutputStream fileOut = new FileOutputStream("C:/Users/LZ2059/Desktop/Projection_2012_Eq2.xls"); wb2.write(fileOut); fileOut.close(); } } } } } } } } //alors on effectue le traitement //sinon on fait rien }//for } catch (FileNotFoundException e){ e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }
Quelqu'un a-t-il déjà fait ?
Merci
Partager