diff options
authorNoel Power <>2012-12-13 16:52:50 +0000
committerNoel Power <>2012-12-14 11:57:02 +0000
commitf851a46abac1460376d9030bf8525c509ed590ce (patch)
parentc1638e418cfdffabef93bb358dcdd3ae239e3bcd (diff)
fix sometimes data corruption with xlsx import ( with scenario sheets )
formula import is buffered 'till the end of import. The processing of the formula data need to happen before the scenario import happens. This is necessary because sheet numbers stored in the formula addresses can become invalid as scenario import insertes new hidden sheets upsetting the previous table order Change-Id: I9357f028f31bec1b1504ca991f5534f80d79c9bc
1 files changed, 2 insertions, 5 deletions
diff --git a/sc/source/filter/oox/workbookhelper.cxx b/sc/source/filter/oox/workbookhelper.cxx
index 071b9a66d736..dce942c04dae 100644
--- a/sc/source/filter/oox/workbookhelper.cxx
+++ b/sc/source/filter/oox/workbookhelper.cxx
@@ -591,11 +591,6 @@ void WorkbookGlobals::finalize()
// #i79826# enable updating automatic row height after loading the document
aPropSet.setProperty( PROP_IsAdjustHeightEnabled, true );
- getFormulaBuffer().finalizeImport();
- // hack, setting it true the second time will delete the cache
- aPropSet.setProperty( PROP_IsAdjustHeightEnabled, true );
// Insert all pivot tables. Must be done after loading all sheets and
// formulas, because data pilots expect existing source data on
// creation.
@@ -667,6 +662,8 @@ void WorkbookHelper::finalizeWorkbookImport()
+ // need to import formulas before scenarios
+ mrBookGlob.getFormulaBuffer().finalizeImport();
/* Insert scenarios after all sheet processing is done, because new hidden
sheets are created for scenarios which would confuse code that relies
on certain sheet indexes. Must be done after pivot tables too. */