Make the spill state of a dynamic array survive a saveAndReload to XLSX and make the XLSX be properly accepted by MSO. There is a special way, with dynamic array extension to the format, which must be written to the file. Export: - Emit xl/metadata.xml with an XLDAPR dynamicArrayProperties block, and register it in [Content_Types].xml and workbook rels. - Mark the master cell with cm="1" and write aca="1" + ca="1" on f. A 1x1 collapsed master is written as a single cell reference. - Map the SPILL cell error to "#VALUE!", since OOXML has no #SPILL! literal. Recalc on reload reclassifies it back to SPILL. Import: - Remember "cm" on the cell. A cached "#VALUE!" on an array master with "cm" set is treated as a SPILL hint so the blocker survives. Extend the XLSX round-trip tests in subsequent_export_test2. Change-Id: I9209e43f3a398e23fc7ca46daf58a88546687dba Signed-off-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk> Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/2865 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Miklos Vajna <vmiklos@collabora.com> (cherry picked from commit eb85edc75e5100beb7802381175de914f4102a81) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205803 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Tested-by: Jenkins Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>