sc/source/core/data/documentimport.cxx | 4 ++++ sc/source/filter/excel/impop.cxx | 18 ++++++------------ 2 files changed, 10 insertions(+), 12 deletions(-)
New commits: commit 1bde610add5ff77043a58110d6bc5830990d99d5 Author: Kohei Yoshida <kohei.yosh...@collabora.com> Date: Wed Sep 25 22:52:56 2013 +0200 Use ScDocumentImport to set matrix formula cells from xls. Change-Id: I3462dffea93c151ccf85eb51cda9511757b72fb2 diff --git a/sc/source/core/data/documentimport.cxx b/sc/source/core/data/documentimport.cxx index d3dd4db..9998e83 100644 --- a/sc/source/core/data/documentimport.cxx +++ b/sc/source/core/data/documentimport.cxx @@ -243,6 +243,10 @@ void ScDocumentImport::setMatrixCells( pBlockPos->miCellPos = rCells.set(pBlockPos->miCellPos, rBasePos.Row(), pCell); + // Matrix formulas currently need re-calculation on import. + pCell->SetMatColsRows( + rRange.aEnd.Col()-rRange.aStart.Col()+1, rRange.aEnd.Row()-rRange.aStart.Row()+1, true); + // Set the reference cells. ScSingleRefData aRefData; aRefData.InitFlags(); diff --git a/sc/source/filter/excel/impop.cxx b/sc/source/filter/excel/impop.cxx index 4239a5e..b855bc2 100644 --- a/sc/source/filter/excel/impop.cxx +++ b/sc/source/filter/excel/impop.cxx @@ -560,12 +560,9 @@ void ImportExcel::Array25( void ) OSL_ENSURE( pErgebnis, "*ImportExcel::Array25(): ScTokenArray is NULL!" ); - ScMarkData aMarkData; - aMarkData.SelectOneTable( GetCurrScTab() ); - pD->InsertMatrixFormula( static_cast<SCCOL>(nFirstCol), - static_cast<SCROW>(nFirstRow), static_cast<SCCOL>(nLastCol), - static_cast<SCROW>(nLastRow), aMarkData, EMPTY_STRING, - pErgebnis ); + ScDocumentImport& rDoc = GetDocImport(); + ScRange aArrayRange(nFirstCol, nFirstRow, GetCurrScTab(), nLastCol, nLastRow, GetCurrScTab()); + rDoc.setMatrixCells(aArrayRange, *pErgebnis, formula::FormulaGrammar::GRAM_ENGLISH_XL_A1); } } @@ -1072,12 +1069,9 @@ void ImportExcel::Array34( void ) OSL_ENSURE( pErgebnis, "+ImportExcel::Array34(): ScTokenArray is NULL!" ); - ScMarkData aMarkData; - aMarkData.SelectOneTable( GetCurrScTab() ); - pD->InsertMatrixFormula( static_cast<SCCOL>(nFirstCol), - static_cast<SCROW>(nFirstRow), static_cast<SCCOL>(nLastCol), - static_cast<SCROW>(nLastRow), aMarkData, EMPTY_STRING, - pErgebnis); + ScDocumentImport& rDoc = GetDocImport(); + ScRange aArrayRange(nFirstCol, nFirstRow, GetCurrScTab(), nLastCol, nLastRow, GetCurrScTab()); + rDoc.setMatrixCells(aArrayRange, *pErgebnis, formula::FormulaGrammar::GRAM_ENGLISH_XL_A1); } } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits