Je dois lire les numéros de téléphone téléchargés via xls/xlsx dans une variable Java String, aussi près que possible de ce qui est affiché dans le fichier Excel.Apache POI impossible de détecter le format haché
J'ai donc ces données remplis:
Comme vous pouvez le voir, la valeur réelle au sein de la cellule est 166609647
, et son format avec 60#############
, alors à la fin, nous voyons 60166609647
apparaissant sur la cellule. Je voudrais capturer le contenu de la cellule comme 60166609647
dans la chaîne mais jusqu'à présent, je réussis seulement à capturer 166609647
, quelqu'un peut-il m'éclairer ce qui ne va pas?
Note: Si je change le format 60############
-60000000000
, je peux saisir 60166609647
sans aucun problème, mais le excel est téléchargé via le site public donc je ne peux pas respecter cela.
Le code est aussi simple que:
Cell cell = getTheCell(); // Got this after reading the sheets and rows
DataFormatter df = new DataFormatter();
String value = df.formatCellValue(cell);
// Here in value
// If format is 600000000, I can get 60166609647 (right)
// If format is 60#######, I get 166609647 (wrong)
Bibliothèques J'utilise:
- poi poi) (3.17
- poi (poi-OOXML) 3.17
- poi (poi-ooxml-schemas) 3.17
- Java 7
Quelqu'un sait ce que je dois faire pour être en mesure de faire les choses correctement?
Merci.
comme un bug d'Apache POI pour moi. Y a-t-il une chance que vous ayez pu écrire un test d'unité de junit montrant le problème, puis ouvrir un bug dans le bugzilla Apache POI? – Gagravarr
@Gagravarr J'ai effectivement soumis une demande ici à https://bz.apache.org/bugzilla/show_bug.cgi?id=61638, y a-t-il quelque chose que j'ai besoin de modifier? –