En utilisant Apache POI HSSF, Comment puis-je actualiser toutes les cellules de formule à la fois?

Je remplis des cellules D'un fichier Excel en utilisant Apache POI, et il y a beaucoup de cellules de formule dans le document. Cependant, leurs valeurs ne sont pas actualisées lorsque j'ouvre le document dans Excel.

Je comprends que j'ai besoin d'utiliser un FormulaEvaluator pour actualiser les cellules de formule. Existe-t-il un moyen, cependant, de mettre à jour toutes les cellules de formule à la fois? Il y a un lot d'entre eux, et bien que faire une liste exhaustive ne soit pas hors de question, ce n'est certainement pas quelque chose que je suis très prêt à faire.

23
demandé sur skaffman 2011-05-09 17:13:23

2 réponses

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

Si vous utilisez HSSF, appelez evaluatorAllFormulaCells :

 HSSFFormulaEvaluator.evaluateAllFormulaCells(hssfWorkbook)

Si vous utilisez XSSF, appelez evaluatorAllFormulaCells :

 XSSFFormulaEvaluator.evaluateAllFormulaCells(xssfWorkbook)

Plus de détails sont disponibles sur le site web poi

62
répondu Gagravarr 2011-05-09 13:32:59