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

Scanning & OCRring to PDF: Simple Scan, gimagereader and gscan2pdf v NAPS2 for Windows

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 scanning paper documents to PDF and digitising the scanned text via optical character recognition. Environment & required functionality The scan-and-OCR function needs to run on the following machines: The Linux Mint Xfce 18.3 laptop " Gandalf "; A Linux Mint Xfce 18.3 virtual machine " Gimli "; The Windows 10 laptop " Legolas ". In any modern office - whether at home or at work - some transactional documents and documents from public authorities still arrive by snail-mail. This requires the ability to scan all documents, optionally with the digitisation of scanned text (typically via optical character recognition). The hardware is an old HP OfficeJet Pro 276dw, connected to the LAN instead of directly to a workstation. Alternatives There are two strategies: To use the software pr

An attempt at full-disk encryption: Vera Crypt

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 testing full-disk encryption using VeraCrypt . Environment & required functionality Full-disk encryption needs to run on the following machines: The Linux Mint Xfce 18.3 laptop " Gandalf "; The Windows 10 laptop " Legolas ". The objective requirement is to protect user data from the physical theft of the physical machine, to provide an additional line of defence against data loss. This is probably more important for Windows than for Linux Mint.   Even so, in both cases, the operating system is likely to log activity which can reveal personal data and user (meta)data. Full-disk encryption does not mitigate against Microsoft’s sinister telemetry functionality, for which the main solutions seem to be: Either to use tools whose developers are constantly on the prowl, hunting for t

The Big Bang: Microsoft Windows goes for good, positive adaptations required

On 27Mar2021, Linux Mint ate Microsoft Windows 10 on Legolas. Three months on, I conclude beyond any doubt that wiping out Windows was the best decision I ever made. The second best decision I ever made was to test Linux Mint in Virtual Box five years ago. The third best decision I ever made was to take ownership of the learning curve that migrating in Windows really entails. A quick reminder: what’s Microsoft Windows like nowadays? I still need to use Windows at work. I cannot easily describe how painful it now is to use Windows. So I’ll try to describe it difficultly. My work machine is a powerful beast, but it exhibits constant latency. For a keyboard-orientated power user, this means that some keystrokes go walkabouts when other services on the Windows machine go to nuclear war with each other, scrambling to feed their narcissistic self-importance for besieged system resources wholly at the user’s expense. Something on Windows tends to clear the keyboard buffer randomly, resulting