Apache POI : Comment format numérique des valeurs de cellule
Je suis en utilisant Apache POI de 3,9 pour XLS/XLSX fichier de traitement.
Dans le XLS feuille, il y a une colonne avec une valeur numérique comme "3000053406".
Quand je l'ai lu avec POI..
cell.getNumericCellValue()
Il me donne de la valeur comme "3,00 E+08". Cette de créer d'énormes problème dans mon application.
Comment puis-je choisir le nombre de formatage lors de la lecture de données dans Apcahe PI ?
Il y a moyen que je sais, c'est pour définir la colonne "texte" type. Mais je veux savoir si il y a d'autres façon à Apache POI côté lors de la lecture des données. OU peut-on formater en utilisant java simple DecimalFormatter ?
OriginalL'auteur Gunjan Shah | 2012-12-29
Vous devez vous connecter pour publier un commentaire.
Celui-ci vient très souvent....
Cueillette une de mes dernières réponses à peu près la même question
Pouvez-vous veuillez donner quelques stub genre de chose pour une meilleure compréhension. J'ai essayé avec DataFormatter mais je ne peux pas comprendre Comment définir le format dans DataFormatter classe. Ici, je suis en utilisant xls et xlsx formats donc.. il est nécessaire d'utiliser HSSFDataFormatter ? et cellStyle.setDataFotmat(court) demande à court de valeur. Comment puis-je récupérer cette valeur courte ?
Vous ne devriez pas avoir à régler quoi que ce soit - qu'il extrait la mise en forme des règles qui ont été appliquées dans Excel dans la cellule, et les utilise pour mettre en forme le numéro
stackoverflow.com/a/12067629/1211000
pouvez-vous donner un exemple simple où "on récupère les règles de mise en forme qui ont été appliqués dans Excel dans la cellule"?
OriginalL'auteur Gagravarr
Problème peut être strictement relatifs à Java, pas de POI liées, trop.
Depuis votre appel renvoie un double,
double val = cell.getNumericCellValue();
Vous voudrez peut-être obtenir ce
DecimalFormat df = new DecimalFormat("#");
int fractionalDigits = 2; //say 2
df.setMaximumFractionDigits(fractionalDigits);
double val = df.format(val);
OriginalL'auteur Patrizio Bertoni
long varA = new Double(cellB1.getNumericCellValue()).longValue();
Cela permettra d'apporter de la valeur exacte de la variable de la
varA
.OriginalL'auteur naveen