Handling of worksheet functions from Excel 2010 and newer

Kohei Yoshida kohei.yoshida at collabora.com
Mon Nov 11 14:26:21 PST 2013


Hi there,

Eike brought to my attention that my recent change to use the internal
API to import formulas from xlsx broke the extra handling that the UNO
API was doing to translate some of the newer Excel functions from Excel
2010 and newer.  These new functions are typically prefixed with _xlfn.
in the XML stream so that when the function name is e.g. BETA.DIST, it
would appear as _xlfn.BETA.DIST in the sheet stream where the formula
cell is stored.

Long story short, the way I've decided to solve this was to add another
set of function names and associate it with formula language XL_ENGLISH,
which is, for now, only used for importing xlsx in a significant way.

So, when you guys have implemented these new functions in Calc core, but
have trouble importing them from xlsx, please take a look at resource
RID_STRLIST_FUNCTION_NAMES_ENGLISH_OOXML in
formula/source/core/resource/core_resource.src and see if the stored
function name matches what's in the XML stream.

Hopefully this fixes the old functionality from the UNO formar parser
that we were missing in ScCompiler.

Best,

Kohei



More information about the LibreOffice mailing list