Skip to main content

Calc v Excel: the third test

Two prior tests (first and second) found that Calc 6.0.3.2 and Excel 2016 would damage data during each other's export/import processes, thus substantially crippling the ability of the cross-platform user to use either app as a substitute for its respective platform.

This third test sought to test a different export/methodology.

Environment & required functionality

Excel and Calc both need to be used on the following machines:
  • The Linux Mint Xfce 18.3 laptop "Gandalf";
  • The Windows 10 laptop "Legolas";
  • Potentially another Windows 10 machine, name withheld to protect the guilty.
The synchronisation agent is Google Drive in Windows 10, and grive2 in Linux Mint.

Actions

On Legolas, the two files were opened and updated in line with normal practice.  This time, Excel saved a backup copy in format ODS.

After the normal sync process (Google Drive/Grive2), Calc opened the ODS files, for updating in line with normal practice.

Calc then saved the ODS files, for sync in the normal way.  Excel on Legolas then opened the amended ODS file.

Findings

As with the prior tests, updating data in Calc on Gandalf was broadly fine, although the lack of fully-keyboard-accessible options in the bookmark menu (key F5) proved an unjustified obstacle.

Calc found no errors in the ODS file exported from Excel.  There was no data loss.

Calc's autofilters, also inherited from Excel, were non-responsive.  In all cases, the auto-filters needed removing and re-defining.

More problematic was that  =VLOOKUP() wrongly produced #N/A in every instance.  In the original XLSX, the function calls on a named range.  The named range refers to a range of cells in one worksheet; the VLOOKUP function is used in a second worksheet; both worksheets sit in the same workbook.

Calc also uses named ranges, but not apparently in the same way that Excel (and also Google Sheets) uses named ranges.  After some fiddling around, it seems that Calc needed the named range to be a different type of range, a database range.  Either that, or Calc has a bug in it whereby it wrongly cannot consider a named range to be a... named range.

The screenshots below show the issue.  The first image shows the dialogue box of Calc's menu Data > Define Range.  It shows clearly a range called "TESTNEWDBASERANGE".


By contrast, using Calc's menu Insert > Named Range or Express, the following dialogue box revealed no such range.  It makes no sense.


The list of named ranges available for pasting - which wrongly excluded TESTNEWDBASERANGE - are those defined in Excel in the original XLSX file on Legolas.  (In fact, the file originated a few years ago in Excel 2000 in XLS!).

Neither Excel nor Google Sheets distinguish between a database range or a named range.  It wouldn't be rational to do so anyway.  After a sync/grive, Legolas' Excel opened the updated ODS to reveal that the new named range TESTNEWDBASERANGE simply isn't available to the user, as per the screenshot below.


Excel did recognise the direct references to the cells underlying the inaccessible named range.

The sole workaround was to replace the named range in the VLOOKUP function with a direct reference to the named range.  The workbook thus regained the same functionality in Calc/Gandalf as it has in Excel/Legolas.

As a consequence, the workbooks (XLSX and ODS) were now different datasets, even though the data outcome was the same.  Neither machine could properly share the same data (irrespective of whether Excel/Calc disagreed about filepaths of linked files, see test two).

Thus, the user needed to intervene, manually copying incremental data from the ODS file to the XLSX file, then re-saving the XLSX file as an ODS file, replacing the original ODS file.  The XLSX/Excel/Legolas/Window file thus became the master file - shared with other users who also use Excel - and the ODS/Calc/Gandalf/Linux file became the secondary, or cache-data-entry, file.

Incidentally, in Calc on Gandalf, the creation of a second database range caused Calc to crash.  Calc then sought to recover data, which it did successfully.

Two days later, Gandalf's Calc opened the grived XLSX file (the primary/master data) and immediately saved it has an ODS file, thus creating a ODS copy for temporary/cached data entry.  For no obvious reason, and inconsistent with prior tests, the autofilters worked without needing re-defining and VLOOKUP was able to use the named range, as defined in Excel, as it should be!

Conclusion

Inconclusive: more testing required.

All the same, the apparent difference between the "named range" and the "database range" was worth a query with the LibreOffice community.  There must be some reason why Calc does what it does.

Alternatives

It would be inappropriate to consider alternatives at this time.
Completed Jun2018.


Comments

Popular posts from this blog

Downgrading of the project: Calc has a fatal bug - it cannot reliably link workbooks

The project is to build a Linux Mint machine to have the identical functionality and ergonomics as the existing Windows 10 machine. This stage relates to on-going work to make LibreOffice Calc workable. Unfortunately, it turns out that LibreOffice isn't fit for purpose.  Specifically, it cannot reliably link workbooks, even in its own native workbooks. As a consequence, the project is now downgraded.  My time is now better spent doing other, more productive things, with a greater chance of success. Background On 29Jul2018, I complied a detailed test using fresh, sample data created specifically for the purpose, in Excel on Windows 10, then had a virtual machine running LibreCalc on Linux Mint to import it. The basic spreadsheet functionality of linked workbooks failed haphazardly. I logged the test results on 29Jul2018 on AskLibreOffice  and, to date, have yet to see any evidence of anybody taking ownership of recognising the issue and thus fixing it. The s...

Project definition: to build a Linux Mint machine functionally identical to a Windows 10 machine

The aim of my project is to build a Linux Mint machine to have the identical functionality and ergonomics as the existing Windows 10 machine. Software The functional list of requirements, listed as software available on Windows, are: Google Chrome ; Google Earth ; Microsoft Office (but not Office 365); Foxit PDF Reader ; Google Backup & Sync for Google Drive ; Password vault ( Keepass) ; Picasa ; GPS Prune (a Java applet); XN Convert ; XN View ; a VPN client; SatSync ; ProRealTime (a Java applet); 7-ZIP ; MP3tag ; PDFill Free Tools ; device driver for an HP OfficeJet Pro 276dw , used mainly for scanning; Duplicati 2 ; a standalone media player; Treesize . Ergonomics The basic ergonomics is that keyboard access must be at least as good as Windows, if not better.  Keyboard accelerators and keyboard shortcuts must be clearly marked and traceable, without being hidden (if they are hidden, then hidden no more so than in Windows). Network To join t...

Deployment of Wine

The project is to build a Linux Mint machine to have the identical functionality and ergonomics as the existing Windows 10 machine. Having established that there is no way to migrate fully from Windows to Linux , the project now needs to consider running Windows apps in Linux.   This is a big change to the strategy of the project.   This is a big change to the deployment of a Linux workstation, a crushing admission of failure, and the opening of a whole new world of risks to an otherwise secure operating system. Environment & required functionality For this blog post, Wine was tested on: The Linux Mint Xfce 19 virtual machine " Bilbo ", on host Windows 10 laptop " Saruman " The Linux Mint Xfce 18.3 virtual machine " Gimli ", on host Windows 10 host " Legolas ". Alternatives There are alternatives to Wine/PlayOnLinux, notably the paid software Crossover. Software selection Wine and PlayOnLinux are present in L...