t***@justsystems.com
2010-11-04 06:50:55 UTC
Hello,
I'm planning to develop an application which sets values of cells in
Excel 2007 file (xlsx) with POI 3.7.
After setting values of cells with POI, I am expecting that formulas
referring to the edited cells will be recalculated when I open it in
Excel 2007, but actually it doesn't work.
I'm doing as follows:
1) I created a new spreadsheet with Excel 2007, set "0" to cell A1 and "
=A1*2" to cell B1, and saved it as "temp.xlsx".
2) The POI program read temp.xlsx and changed cell A1 value to "2".
3) When I opened temp.xlsx in Excel 2007, I expected cell B1 to show "
4", but it was "0". Forcing a recalculation in Excel didn't fix it
either.
I know that in case of "xls" HSSFSheet.setForceFormulaRecalculation() is
available to force Excel to recalculate on opening xls file. But
XSSFSheet does not seem to have the same method.
How can I force Excel to recalculate on opening xlsx file?
I'm planning to develop an application which sets values of cells in
Excel 2007 file (xlsx) with POI 3.7.
After setting values of cells with POI, I am expecting that formulas
referring to the edited cells will be recalculated when I open it in
Excel 2007, but actually it doesn't work.
I'm doing as follows:
1) I created a new spreadsheet with Excel 2007, set "0" to cell A1 and "
=A1*2" to cell B1, and saved it as "temp.xlsx".
2) The POI program read temp.xlsx and changed cell A1 value to "2".
3) When I opened temp.xlsx in Excel 2007, I expected cell B1 to show "
4", but it was "0". Forcing a recalculation in Excel didn't fix it
either.
I know that in case of "xls" HSSFSheet.setForceFormulaRecalculation() is
available to force Excel to recalculate on opening xls file. But
XSSFSheet does not seem to have the same method.
How can I force Excel to recalculate on opening xlsx file?