Hi Winfried, On Thursday, 2013-04-25 08:31:39 +0200, Winfried Donkers wrote:
Bug fdo59727 is about addin function MONTHS() that is not interpreted correctly when read from an xlsx file. That is, an xlsx file with the function "MONTHS(...)" opened with calc shows "com.sun.star.sheet.addin.datefunctions.getdiffmonths(...)" and understandably results to #NAME? .
Only if the .xlsx was saved with Calc 4.0, then the file contains com.sun.star.sheet.addin.DateFunctions.getDiffMonths, an original file containing MONTHS() also does not work though, the MONTHS is not recognized hence displayed as lowercase months. Seems to be a specific problem with Add-In functions. .xlsx import implementation is in sc/source/filter/oox/* the export is in the sc/source/filter/excel/* objects saving with *.SaveXml() methods and the like.
Hints where to look for the cause are welcome. I found maAddInMap in /core/sc/source/core/tool/odffmap.cxx, but don't know where and how this map is used to convert to and from xlsx.
Indirectly. The compiler uses it to initialize the opcode maps from which export obtains the names again. See ScCompiler::fillFromAddIn*() functions. But, since this does not seem to happen for all Add-In functions I suspect something else to be the culprit, maybe in the mappings/flags of the Excel import/export function name maps.
This area may be way out my comfort zone, so I'm not sure at all yet whether I want to be the assignee for this bug :-)
If you get stuck with it I'd take over. Eike -- LibreOffice Calc developer. Number formatter stricken i18n transpositionizer. GPG key ID: 0x65632D3A - 2265 D7F3 A7B0 95CC 3918 630B 6A6C D5B7 6563 2D3A For key transition see http://erack.de/key-transition-2013-01-10.txt.asc Support the FSFE, care about Free Software! https://fsfe.org/support/?erack
Attachment:
pgpxxx9AEJKUm.pgp
Description: PGP signature