Bonjour à tous,

J'ai rencontré cette erreur qui me fait trés peur!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
Exception in thread "main" java.lang.RuntimeException: Unexpected missing row when some rows already present
	at org.apache.poi.hssf.usermodel.HSSFSheet.setPropertiesFromSheet(HSSFSheet.java:174)
	at org.apache.poi.hssf.usermodel.HSSFSheet.<init>(HSSFSheet.java:121)
	at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:275)
	at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:188)
	at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:305)
	at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:286)
	at Extraction.main(Extraction.java:92)

Cela vient de cette ligne (en rouge dans le code):

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
try {
			InputStream is = new FileInputStream("C:/Donnees/Aide_Manager/extract_25012012.xls");
			//POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream("extract.xls")); //pour ouvrir les fichiers xls
			HSSFWorkbook wb = new HSSFWorkbook(is);
			HSSFSheet sheet = wb.getSheetAt(0);
			HSSFRow row = null;
			HSSFCell cell = null;
			int n = 0;
			int i = 0;//compte le nombre d'agent
			
			for (Iterator rowIt = sheet.rowIterator(); rowIt.hasNext();){
				row = (HSSFRow) rowIt.next();
				Agent a = new Agent();
				n++;// pour avoir le numéro de chaque ligne lue
				
				if(row.getRowNum() == 6 && row.getCell(0) != null){//pour obtenir la date de l'extract et déterminer sa semaine dans l'année.
					date_extract = row.getCell(0).getStringCellValue().substring(3,13);//on récupère la date
					System.out.println("date_extract: "+date_extract);
					
					//faire une vérification pour savoir:
					//si la date du fichier n'est pas trouvée sur
					InputStream istr = new FileInputStream("C:/Donnees/Aide_Manager/date_extract1.xls");
					HSSFWorkbook wbd = new HSSFWorkbook(istr);					HSSFSheet sheetd = wbd.getSheetAt(0);
					HSSFRow rowd = null;
					HSSFCell celld = null;
					date_extract="24/01/2012";
					for (Iterator r = sheetd.rowIterator(); r.hasNext();){
						rowd = (HSSFRow) r.next();
						celld = rowd.getCell(0);
						//System.out.println("lalalalalala");
						if(celld != null ){
							if(celld.getCellType()==0){
							System.out.println("c'est un nombre: "+celld.getNumericCellValue());
							}else{
								System.out.println("c'est une chaine: "+celld.getStringCellValue());
								if(celld.getStringCellValue().equals(date_extract)){// si on trouve que la date_extract est = à la date trouvée dans le fichier
									System.out.println("DATE TROUVEE Ds le fichier !");
									System.out.println("CETTE EXTRACT A DEJA ETE UTILISEE !!");
									System.out.println("MERCI D'UTILISER UN AUTRE EXTRACT CONCERNANT UNE AUTRE DATE !");
									date_stockee_trouvee=true;
								}
							}
							dernLigneTrouvee = rowd.getCell(0).getRowIndex();
							
						}
						
					}
Si quelqu'un a une idée ???
Merci