2011-05-09 45 views
22

Estoy rellenando celdas de un archivo de Excel utilizando Apache POI, y hay muchas celdas de fórmula en el documento. Sin embargo, sus valores no se actualizan cuando abro el documento en Excel.Usando Apache POI HSSF, ¿cómo puedo actualizar todas las celdas de fórmula a la vez?

Tengo entendido que necesito usar un FormulaEvaluator para actualizar las celdas de fórmula. ¿Hay alguna manera, sin embargo, de actualizar todas las celdas de fórmula a la vez? Hay un lote de ellos, y aunque hacer una lista exhaustiva no está fuera de discusión, ciertamente no es algo que esté dispuesto a hacer.

Respuesta

56

Sure. Actualizar todas las fórmulas en un libro de trabajo es posiblemente el caso de uso más típico de todos modos.

Si está utilizando HSSF, llame evaluatorAllFormulaCells:

HSSFFormulaEvaluator.evaluateAllFormulaCells(hssfWorkbook) 

Si está utilizando XSSF, llaman evaluatorAllFormulaCells:

XSSFFormulaEvaluator.evaluateAllFormulaCells(xssfWorkbook) 

Más detalles están disponibles en el poi website

+0

¡Muchas gracias! – zneak

+0

Un año después, sigue siendo útil. Gracias ':)' – sp00m

+0

4 años después, sigue siendo útil ;-) – DenisK

Cuestiones relacionadas