Bug 162088 - Bring database-range keywords / table structured references to ODF

Regina Henschel rb.henschel at t-online.de
Thu Jul 25 22:33:05 UTC 2024


Hi all,

the "structured-reference" in Excel works on a "Table". You define a 
Table in Excel by marking a cell rectangle and use "Format as Table" in 
tab "Home". Then you get a new tab "Table Design" for further properties 
of the "Table".

A "structured-reference" is something like =myData[[#Totals];[Sales]].

The import maps such "Table" to a "Database range". However a 
<table:database-range> in ODF has the attribute table:orientation with 
values "row" and "column". Thereby "row" means that a database record is 
a row, which is the default.
The example to XLOOKUP in the help shows how a database range in column 
orientation would look.
The "Table" in Excel has always the orientation "row".

When you create a "Database range" in LibreOffic there is no option to 
set the attribute "table:orientation" directly. But when you sort the 
"Database range" and check the option "Direction:Left to right (sort 
columns)", then table:orientation="column" is written to file.

As far as I have tested, the implementation of "structured-reference" in 
LibreOffice ignores the table:orientation attribute. It evaluates the 
expression so as if the "Database range" has orientation "row".

What to do when specifying something similar to "structured references" 
in ODF?
I see two ways to do it:

(A) Specify it so that it considers table:orientation. Then we would 
have to bring a note to the user, that LibreOffice has it only 
implemented for the case of table:orientation="row". Using them with 
table:orientation="column" will give invalid results.

(B) Specify it so that it shall only by used if <table:database-range> 
has table:orientation="row". That would mean, that in case of 
table:orientation="column" LibreOffice would have to produce an error if 
such "structured reference" is used in an expression.

What do you think is better. Or do you have other ideas for the ODF 
standard?

Kind regards,
Regina



More information about the LibreOffice mailing list