diff options
author | Jochen Nitschke <j.nitschke+logerrit@ok.de> | 2017-01-13 17:29:11 +0100 |
---|---|---|
committer | Jochen Nitschke <j.nitschke+logerrit@ok.de> | 2017-01-15 23:54:08 +0000 |
commit | ff407afbb5b121228879a3323c5be12ce2750e1a (patch) | |
tree | 1610c2aa4f834ec1fc339ab34f4e2eb878c5dd79 | |
parent | 7c73c4605bb75b288e186b5de0ca12da1724353e (diff) |
tdf#48140 replace CellRangeAddress in xlsx import (16)
Change-Id: Ie44a5b8433e2dc2c253d6c439f9308f936a4508f
Reviewed-on: https://gerrit.libreoffice.org/33094
Reviewed-by: Jochen Nitschke <j.nitschke+logerrit@ok.de>
Tested-by: Jochen Nitschke <j.nitschke+logerrit@ok.de>
-rw-r--r-- | sc/source/filter/inc/formulabase.hxx | 4 | ||||
-rw-r--r-- | sc/source/filter/oox/formulabase.cxx | 25 |
2 files changed, 6 insertions, 23 deletions
diff --git a/sc/source/filter/inc/formulabase.hxx b/sc/source/filter/inc/formulabase.hxx index 46ddbfbb562f..746242686b52 100644 --- a/sc/source/filter/inc/formulabase.hxx +++ b/sc/source/filter/inc/formulabase.hxx @@ -694,10 +694,6 @@ public: address which has been extracted to orRange, false otherwise. */ bool extractCellRange( - css::table::CellRangeAddress& orRange, - const ApiTokenSequence& rTokens, - bool bAllowRelative ) const; - bool extractCellRange( ScRange& orRange, const ApiTokenSequence& rTokens, bool bAllowRelative ) const; diff --git a/sc/source/filter/oox/formulabase.cxx b/sc/source/filter/oox/formulabase.cxx index b2f0ace68aef..74b562c30175 100644 --- a/sc/source/filter/oox/formulabase.cxx +++ b/sc/source/filter/oox/formulabase.cxx @@ -1467,11 +1467,10 @@ bool lclConvertToCellAddress( ScAddress& orAddress, const SingleReference& rSing ((nFilterBySheet < 0) || (nFilterBySheet == rSingleRef.Sheet)); } -bool lclConvertToCellRange( CellRangeAddress& orRange, const ComplexReference& rComplexRef, sal_Int32 nForbiddenFlags, sal_Int32 nFilterBySheet ) +bool lclConvertToCellRange( ScRange& orRange, const ComplexReference& rComplexRef, sal_Int32 nForbiddenFlags, sal_Int32 nFilterBySheet ) { - orRange = CellRangeAddress( static_cast< sal_Int16 >( rComplexRef.Reference1.Sheet ), - rComplexRef.Reference1.Column, rComplexRef.Reference1.Row, - rComplexRef.Reference2.Column, rComplexRef.Reference2.Row ); + orRange = ScRange( rComplexRef.Reference1.Column, rComplexRef.Reference1.Row, rComplexRef.Reference1.Sheet, + rComplexRef.Reference2.Column, rComplexRef.Reference2.Row, rComplexRef.Reference2.Sheet ); return !getFlag( rComplexRef.Reference1.Flags, nForbiddenFlags ) && !getFlag( rComplexRef.Reference2.Flags, nForbiddenFlags ) && @@ -1500,10 +1499,11 @@ TokenToRangeListState lclProcessRef( ApiCellRangeList& orRanges, const Any& rDat ComplexReference aComplexRef; if( rData >>= aComplexRef ) { - CellRangeAddress aRange; + ScRange aRange; // ignore invalid ranges (with #REF! errors), but do not stop parsing if( lclConvertToCellRange( aRange, aComplexRef, nForbiddenFlags, nFilterBySheet ) ) - orRanges.push_back( aRange ); + orRanges.push_back( CellRangeAddress(aRange.aStart.Tab(), aRange.aStart.Col(), aRange.aStart.Row(), + aRange.aEnd.Col(), aRange.aEnd.Row()) ); return STATE_REF; } return STATE_ERROR; @@ -1598,19 +1598,6 @@ Any FormulaProcessorBase::extractReference( const ApiTokenSequence& rTokens ) co return Any(); } -bool FormulaProcessorBase::extractCellRange( CellRangeAddress& orRange, - const ApiTokenSequence& rTokens, bool bAllowRelative ) const -{ - ApiCellRangeList aRanges; - lclProcessRef( aRanges, extractReference( rTokens ), bAllowRelative, -1 ); - if( !aRanges.empty() ) - { - orRange = aRanges.front(); - return true; - } - return false; -} - bool FormulaProcessorBase::extractCellRange( ScRange& orRange, const ApiTokenSequence& rTokens, bool bAllowRelative ) const { |