web-dev-qa-db-fra.com

Utilisation d'Apache POI HSSF, comment puis-je rafraîchir toutes les cellules de formule à la fois?

Je remplissais des cellules d'un fichier Excel à l'aide de POI Apache, et il y a beaucoup de cellules de formule dans le document. Cependant, leurs valeurs ne sont pas rafraîchies lorsque j'ouvre le document dans Excel.

Je crois comprendre que je dois utiliser un FormulaEvaluator pour rafraîchir les cellules de formule. Y a-t-il un moyen, cependant, de mettre à jour toutes les cellules de formule à la fois? Il y a un lot d'entre eux et tout en faisant une liste exhaustive n'est pas hors de question, ce n'est certainement pas quelque chose que je suis très disposé à faire.

33
zneak

Sûr. Rafraîchissant toutes les formules dans un classeur est peut-être le cas d'utilisation plus typique de toute façon.

Si vous utilisez HSSF, appelez EvaluatorAllformulacells :

 HSSFFormulaEvaluator.evaluateAllFormulaCells(hssfWorkbook)

Si vous utilisez XSSF, appelez évaluatorallformulacells :

 XSSFFormulaEvaluator.evaluateAllFormulaCells(xssfWorkbook)

Plus de détails sont disponibles sur le Site Web du POI

74
Gagravarr
1
Vebby