Bug 143058 - FILEOPEN XSLX following SAVE from ODS when Range Names are "large:
Summary: FILEOPEN XSLX following SAVE from ODS when Range Names are "large:
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Calc (show other bugs)
Version:
(earliest affected)
6.4.7.2 release
Hardware: All Linux (All)
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords: filter:xlsx
Depends on:
Blocks: XLSX-DataRange
  Show dependency treegraph
 
Reported: 2021-06-25 05:15 UTC by Malcolm Robbins
Modified: 2021-12-06 20:20 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments
Trivial ODS that exhibits the problem when exported to Excel and then loaded (10.21 KB, application/vnd.oasis.opendocument.spreadsheet)
2021-06-25 05:15 UTC, Malcolm Robbins
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Malcolm Robbins 2021-06-25 05:15:31 UTC
Created attachment 173187 [details]
Trivial ODS that exhibits the problem when exported to Excel and then loaded

There's a defect saving to Excel and then reloading the Excel sheet (whether into Calc or Excel) when the sheet has named ranges defined that represent a "large" column.  i.e. If you create a named range by selecting an entire column.

Attached sheet illustrates the problem via the following steps (note the sheet has 2 named ranges A and B defined in it that encompass the column column even though the table has only 10 rows - to support extendability).

1) Open the provided ODS and select Data/Define Range and note that A and B are defined ranges.  A is defined as $Sheet1.$A$1:$A$1048576, B similarly

2) Save the sheet as Excel (either format) and close

3) Now open the XLSX document. It *looks* OK but click on the items in the C column (defined as A+B) and force evaluation with F9 and you'll get #VALUE! 

4) Now go to the range definitions again and you'll see they have been truncated so a is now defined as $Sheet1.$A$1 and B similarly.  

In larger spreadsheets this causes even more severe problems such as the spurious "Warning loading document 'blah'. The data could not be loaded completely because the maximum number of rows per sheet was exceeded".
Comment 1 Malcolm Robbins 2021-06-25 05:18:10 UTC
The problem can easily be avoided/worked around once the issue is understood by limiting the "size" of the range but it is convenient to select and use an entire column for a named range.
Comment 2 m.a.riosv 2021-06-25 08:56:52 UTC
Works fine for me with
Version: 7.3.0.0.alpha0+ (x64) / LibreOffice Community
Build ID: 5fb7f66d240fec32a4751d331a215307ad994cbb
CPU threads: 4; OS: Windows 10.0 Build 21390; UI render: Skia/Vulkan; VCL: win
Locale: es-ES (es_ES); UI: en-US Calc: threaded
Version: 7.1.4.2 (x64) / LibreOffice Community
Build ID: a529a4fab45b75fefc5b6226684193eb000654f6
CPU threads: 4; OS: Windows 10.0 Build 21390; UI render: Skia/Raster; VCL: win
Locale: es-ES (es_ES); UI: en-US Calc: threaded
Versión: 6.4.7.2 (x64)
Id. de compilación: 639b8ac485750d5696d7590a72ef1b496725cfb5
Subprocs. CPU: 4; SO: Windows 10.0 Build 21390; Repres. IU: GL; VCL: win; 
Configuración regional: es-ES (es_ES); Idioma de IU: es-ES Calc: CL

With that versions, when I create a range like $Sheet1.$A$1:$A$1048576 it is automatically transformed in $Sheet1.$A$:$A, and well saved as ods and xlsx.
Comment 3 raal 2021-12-06 20:20:46 UTC
Confirm with Version: 7.4.0.0.alpha0+ / LibreOffice Community
Build ID: ba7db98cca3d8516697c94ef0d6af27db9e1655e
CPU threads: 4; OS: Linux 5.11; UI render: default; VCL: gtk3
Locale: cs-CZ (cs_CZ.UTF-8); UI: en-US
Calc: threaded