Bonjour,
J'ai ce 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 public SaveFile(File file, JFrame frame, JTable table) { String val; save.setDialogTitle("Sauvegarder feuille de débit"); save.setFileFilter(new FileNameExtensionFilter("Excel","xls")); int returnval = save.showSaveDialog(null); if (returnval == JFileChooser.APPROVE_OPTION) { savePath = save.getSelectedFile().getAbsolutePath() + "xls"; } file = new File(savePath); Workbook workbook = new HSSFWorkbook(); Sheet sheet = workbook.createSheet("Débit"); Row row = sheet.createRow(0); TableModel model = table.getModel(); for (int i = 0; i < model.getColumnCount(); i++) { row.createCell(i).setCellValue(model.getColumnName(i)); } for (int i = 0; i < model.getRowCount(); i++) { row = sheet.createRow(i + 1); for (int j = 0; j < model.getColumnCount(); j++) { if(!model.getValueAt(i, j).equals(null)) val = model.getValueAt(i, j).toString(); else val = "0"; row.createCell(j).setCellValue(val); } } FileOutputStream fileOut; try { fileOut = new FileOutputStream(savePath); workbook.write(fileOut); fileOut.close(); workbook.close(); } catch (IOException e) { System.out.println(e); e.printStackTrace(); } }
Le problème c'est qu'a la ligne 21, je dois tester mon Model qui contient des vectors pour les valeurs pour vérifier qu'il ne soit pas null. Car si mon JTable avait une case vide, mon vector contient un trou de valeur :
La table ressemble à ça :
Il me faudrait donc modifier la ligne 21 de façon qu'elle arrive à vérifier que le vector ne soit pas inexistant sans renvoyer un NullPointerException.
Merci à ceux qui prendront le temps de me répondre.
Partager