Obtenir la Valeur de la Cellule à partir d'une Feuille Excel avec Apache Poi
Comment obtenir la valeur de la cellule avec poi en java ?
Mon code ressemble à ceci
String cellformula_total__percentage= "(1-E" + (rowIndex + 2) + "/" + "D" + (rowIndex + 2) + ")*100";
cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
cell.setCellStyle(this.valueRightAlignStyleLightBlueBackground);
cell.setCellFormula("abs(" + cellformula_total__percentage + ")");
Mais si il est dans ce cas comment puis-je vérifier que ma valeur de la cellule contient la valeur de l'erreur comme #DIV/0! et comment puis-je le remplacer par N/A
OriginalL'auteur water | 2011-04-07
Vous devez vous connecter pour publier un commentaire.
Vous devez utiliser le FormulaEvaluator, comme le montre ici. Cela renvoie une valeur qui correspond à la valeur présente dans la cellule ou le résultat de la formule si la cellule contient une formule :
si vous avez besoin de connaître la constante (c'est à dire le formla si la cellule contient une formule), alors ceci est illustré ici.
Edit :
Ajouté quelques exemples pour vous aider.
d'abord avoir de la cellule (juste un exemple)
Si vous voulez juste pour définir la valeur dans la cellule à l'aide de la formule (sans connaître le résultat) :
si vous souhaitez modifier le message si il y a une erreur dans la cellule, vous devez modifier la formule pour le faire, quelque chose comme
(cette formule de vérifier si l'évaluation renvoie un message d'erreur et ensuite afficher la chaîne "N/A", ou de l'évaluation, si ce n'est pas une erreur).
si vous voulez obtenir la valeur correspondant à la formule, alors vous devez utiliser l'évaluateur.
Espérons que cette aide,
Guillaume
cell.getStringCellValue();
oucell.getNumericCellValue();
. Votre réponse s'applique à des situations où la cellule contient une formule, il n'y a aucune indication que c'est le cas pour l'OPvous avez raison, je n'ai pas "avoir". Toutefois, si la cellule ne contient pas une formule, la méthode "evaluateFormulaCell" renvoie toujours la valeur. Je trouve qu'il est plus simple d'appeler cette méthode que pour effectuer spécial condition de vérifier, depuis que je puis toujours obtenir la valeur de la cellule. Cependant, c'est en effet nulle si vous êtes sûr que vous n'avez pas une formule.
vous avez un bon point... je pointait juste pour faire sûr qu'il y a pas de malentendus.
Merci pour votre aide, Mais si il y a un type de cellule de la formule et après évaluation de ce que la formule de la cellule contient la valeur de l'erreur comme DIV/0! erreur que comment puis-je savoir que la cellule contient cette erreur et comment puis-je le remplacer par "N/A"?
en cas d'erreur, le type de la cellule est la Cellule.CELL_TYPE_ERROR. Vous pouvez obtenir la valeur de l'erreur par le getErrorCellValue() la méthode. affter que, ça dépend onn vos besoins : si vous avez juste besoin d'un message d'erreur standard ("N/A"), puis il suffit de vérifier la nature du contenu. Si vous avez besoin de différents messages d'erreur, l'utilisation d'une table de hachage de la cartographie excel, message d'erreur à votre propre (c'est juste un exemple)...
OriginalL'auteur PATRY Guillaume
Peut se faire par:-
Pour le type spécifique de cellule, vous pouvez essayer:
OriginalL'auteur Harry Joy