Je pense que j'ai un problème sur mon ffichier excel.
Merci à tous pour votre aide
Je pense que j'ai un problème sur mon ffichier excel.
Merci à tous pour votre aide
J'ai toujours un probleme pour passer d'excel à csv. Voici mon code mais ça ne marche pas :
ça me crée le fichier mais il est vide et je ne comprends toujours pas pourquoi.
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 String sFile = null, sFile1, sFile2, sFile3 = null; String inFilename = null; String outFilename = null; HashMap files = new HashMap(1); sFile1 = "test1.xls"; sFile2 = "test2.xls"; sFile3 = "test3.xls"; files.put(new Integer(0),sFile1); String repertoire = "C:\\data\\excel\\result\\"; outFilename = repertoire + "Essai.txt"; POIFSFileSystem fs = null; FileOutputStream fileOut = null; HSSFWorkbook workbook = null; HSSFSheet sheet = null; HSSFCell cel = null; PrintWriter oot = null; StringBuffer buf = null; String sType = null; String cellValue = null; HSSFRow row = null; fileOut = new FileOutputStream(new File(outFilename)); oot = new PrintWriter(fileOut); buf = new StringBuffer(); int nbRow = 0; for(int k = 0 ; k < files.size() ; k++) { sFile = (String) files.get(new Integer(k)); inFilename = repertoire + sFile ; fs = new POIFSFileSystem(new FileInputStream(new File(inFilename))); workbook = new HSSFWorkbook(fs); sheet = workbook.getSheetAt(0); nbRow = sheet.getPhysicalNumberOfRows(); System.out.println("Nombre de ligne dans la sheet : " + nbRow); File fileExist = new File(outFilename); for(int i = 0 ; i < nbRow ; i++) { row = sheet.getRow(i); buf.setLength(0); for(short j = (short) 0 ; j <= (short) 52 ; j++) { cel = row.getCell(j); if( !row.getCell(j) == null ) { switch(row.getCell(j).getCellType()) { case HSSFCell.CELL_TYPE_BLANK : cellValue = ""; break; case HSSFCell.CELL_TYPE_FORMULA : cellValue = row.getCell(j).getCellFormula(); break; case HSSFCell.CELL_TYPE_NUMERIC : double iValue = row.getCell(j).getNumericCellValue(); cellValue = String.valueOf(iValue); break; case HSSFCell.CELL_TYPE_STRING : cellValue = row.getCell(j).getStringCellValue(); break; default : } buf.append(cellValue); if(j < 52) buf.append(";"); } } buf.append("\r"); oot.println(buf.toString()); } } oot.flush(); oot.close(); fileOut.close();
Merci de m'aider
en fait c'est toujours un probleme de NullPointerException. Je dois traiter les deux conditions suivantes :
Et là ça me crée bien le fichier avec tous les champs vides ou non, or avant j'avais que les champs avec une valeur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 if(row.getCell(j) != null { ...... } else if(row.getCell(j) == null) { cellValue = ""; buf.append(";"); }
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager