Lire Excel Numérique des valeurs de cellule comme ils sont en Java
Quand je lis excel numérique des valeurs de cellule, je suis sortie avec des décimales. par exemple: 79 est de la lecture que 79.0, 0.00 lecture comme 0.0. Le code de mon application j'ai écrit est:
int type = cell.getCellType();
if (type == HSSFCell.CELL_TYPE_NUMERIC)
System.out.println(cell.getNumericCellValue());
OriginalL'auteur Java Developer | 2013-05-10
Vous devez vous connecter pour publier un commentaire.
Cette question revient beaucoup sur un Débordement de Pile, de sorte que vous seriez bien avisé de regarder à travers de nombreux semblables pour y voir les réponses!
Excel stocke presque tous les chiffres dans le format de fichier que les valeurs à virgule flottante, c'est pourquoi POI vous rendra un double numérique de la cellule que c'est ce qui était vraiment là. Si vous voulez qu'il regarde comme il le fait dans Excel, vous devez appliquer les règles de mise en forme définie à l'encontre de la cellule et le nombre. Donc, vous voulez faire exactement la même chose comme dans ma réponse ici. Pour citer:
Tout ce que vous devez faire est de:
OriginalL'auteur Gagravarr
Je ne suis pas à 100%, cela pourrait fonctionner, mais je crois que ce que vous cherchez est DecimalFormat.
Cette question a quelque chose à voir avec le PVE, je suis en utilisant org.apachi.pi pour lire des valeurs de cellule.Merci de m'aider dans ce problème.
Je veux lire numérique des valeurs de cellule comme dans Excel. Mais mon code est la lecture de 79-->79.0, 100.50-->100.5. s'il vous plaît corrigez-moi où je fais de mal, je ne pouvais pas le trouver. Aidez-moi!
OriginalL'auteur Tobes
Je suppose que vous utilisez Apache POI.
Vous devriez envisager de jouer avec
DataFormat
s. Ici est très minime projet de code.Autrement, si les données de votre carnet de travail est conforme, vous pouvez arrondir les
double
retourné pargetNumericCellValue
àint
.Je ne veux pas rond importe quelle valeur de la cellule à venir à partir d'Excel, je veux juste lire comme elles sont. Mais il est la lecture que 79-->79.0, 100.50--> 100.5. Merci de m'aider dans ce problème.
Ok, donc vous avez de réelles valeurs doubles ainsi, donc, en les arrondissant ne fonctionnera pas. Avez-vous essayé de vérifier le Format de Apache POI? Je crois qu'il serait de vous orienter vers la bonne direction. Voici quelques liens pour vous aider: poi.apache.org/apidocs/org/apache/poi/ss/usermodel/... et poi.apache.org/apidocs/org/apache/poi/ss/usermodel/...
oups! n'avait pas vu qu'il a déjà été répondu à mon mauvais...
OriginalL'auteur Mena
Utiliser le DataFormatter comme les suivantes, il permet de détecter le format de la cellule automatiquement et de produire de la sortie de chaîne
OriginalL'auteur zawhtut