Hello, this patch solves the problem that shared formulas are not imported correctly from xlsx. The cell containing the shared formula displayed =#Name because the range name that is internally used is global but the formula compiler thought it is local. We have a second independent issue here that needs some more investigation. Except for the base cell no cell contains formulas, only the value. As much as I see now this is a more complex problem and needs some more debugging.
The situation is already better than in our 3.4.1 release. I hope I get the second problem fixed for 3.4.2 too. I think this patch should be included into 3.4 and 3.4.2 because it prevents data loss. Regards, Markus
From 1ee0adcf59a5a757acf39bdc37e5b95af917f884 Mon Sep 17 00:00:00 2001 From: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Tue, 12 Jul 2011 01:51:46 +0200 Subject: [PATCH] fix for fdo#39023: shared formulas are not imported correctly --- oox/source/xls/formulaparser.cxx | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/oox/source/xls/formulaparser.cxx b/oox/source/xls/formulaparser.cxx index 2d919a6..429bc13 100644 --- a/oox/source/xls/formulaparser.cxx +++ b/oox/source/xls/formulaparser.cxx @@ -32,6 +32,7 @@ #include <com/sun/star/sheet/ComplexReference.hpp> #include <com/sun/star/sheet/ExternalReference.hpp> #include <com/sun/star/sheet/FormulaToken.hpp> +#include <com/sun/star/sheet/NameToken.hpp> #include <com/sun/star/sheet/ReferenceFlags.hpp> #include <com/sun/star/sheet/SingleReference.hpp> #include "oox/core/filterbase.hxx" @@ -2798,7 +2799,10 @@ void FormulaParser::convertNameToFormula( FormulaContext& rContext, sal_Int32 nT { ApiTokenSequence aTokens( 1 ); aTokens[ 0 ].OpCode = OPCODE_NAME; - aTokens[ 0 ].Data <<= nTokenIndex; + NameToken aNameTokenData; + aNameTokenData.Global = sal_True; + aNameTokenData.Index= nTokenIndex; + aTokens[ 0 ].Data <<= aNameTokenData; mxImpl->setFormula( rContext, aTokens ); } else -- 1.7.3.4
_______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice