From 08ca08d2f46c6119550024ce02bc42c271a3644b Mon Sep 17 00:00:00 2001 From: Noel Power Date: Fri, 9 Nov 2012 16:58:00 +0000 Subject: fix for fdo#55875 numbers as text converted strangely old code used to use XCell->setString, new code uses rDoc.SetString which by default tries to detect number formats. The ScColumn::SetString that eventually gets called seems to do lots of additional checks ( and apparently even if an ScSetStringParam instance with mbDetectNumberFormat ( false ) was passed it seems that it will still try to detect decimal number formats. With that in mind I restore and un-unoified version of what XCell->setString used do Change-Id: Ifaef74c78b198f492a390a3d5dc1721622a01ea4 Reviewed-on: https://gerrit.libreoffice.org/1020 Reviewed-by: Markus Mohrhard Tested-by: Markus Mohrhard --- sc/source/filter/oox/worksheethelper.cxx | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'sc') diff --git a/sc/source/filter/oox/worksheethelper.cxx b/sc/source/filter/oox/worksheethelper.cxx index 96c84f912fdd..771f32f745ce 100644 --- a/sc/source/filter/oox/worksheethelper.cxx +++ b/sc/source/filter/oox/worksheethelper.cxx @@ -1564,7 +1564,14 @@ void WorksheetHelper::putString( const CellAddress& rAddress, const OUString& rT { ScAddress aAddress; ScUnoConversion::FillScAddress( aAddress, rAddress ); - getScDocument().SetString( aAddress.Col(), aAddress.Row(), aAddress.Tab(), rText ); + ScBaseCell* pNewCell = NULL; + ScDocument& rDoc = getScDocument(); + if ( !rText.isEmpty() ) + pNewCell = ScBaseCell::CreateTextCell( rText, &rDoc ); + if ( pNewCell ) + rDoc.PutCell( aAddress, pNewCell ); + else + rDoc.SetString( aAddress.Col(), aAddress.Row(), aAddress.Tab(), rText ); } void WorksheetHelper::putRichString( const CellAddress& rAddress, const RichString& rString, const Font* pFirstPortionFont ) const -- cgit