Bonjour,
je voudrais créer des combobox avec Xssf. Mais Excel 2010 lève une erreur de format en de fichier. Nous obtenons comme message Enregistrements réparés: Propriétés de la feuille de calcul dans la partie /xl/workbook.xml (Classeur).
Le contenu du document est lisible mais je n'obtiens pas ma combobox.
La création avec Hssf ne pose aucun soucis !!!
Voici le code utilisé pour créer l'objet datavalidation a renseigné dans le Sheet :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| public static DataValidation createDataValidation(VersionExcel versionExcel, Sheet sheet,
List<String> valeursAutorisees, CellRangeAddressList addressList) {
DataValidation dataValidation = null;
String[] tabValeursAutorisees = valeursAutorisees.toArray(new String[valeursAutorisees.size()]);
DataValidationHelper helper = null;
if (versionExcel == VersionExcel.EXCEL_97_2003) {
helper = new HSSFDataValidationHelper((HSSFSheet) sheet);
} else if (versionExcel == VersionExcel.EXCEL_2007_ET_PLUS) {
helper = new XSSFDataValidationHelper((XSSFSheet) sheet);
}
DataValidationConstraint dvConstraint = helper.createExplicitListConstraint(tabValeursAutorisees);
dataValidation = helper.createValidation(dvConstraint, addressList);
dataValidation.setSuppressDropDownArrow(false);
return dataValidation;
} |
.....
puis :
.....
sheet.addValidationData(dataValidation);
donc ça marche très bien avec Hssf mais pas avec Xssf. D'ailleurs j'ai du mal a trouvé des exemples de codes avec Xssf.
Par avance merci pour votre aide.
Partager