Σ Spreadsheets

LibreOffice Calc vs Excel: practical differences and compatibility

What changes between Excel and LibreOffice Calc: ODS and XLSX formats, command names, separators, functions, macros and checks before sending a file.

LibreOffice Calc is the free and open-source spreadsheet in the LibreOffice suite, available for Windows, macOS and Linux. For most everyday uses it does the same things as Excel and opens and saves XLSX files. There are, however, differences in interface and behaviour that are worth knowing if you work with both programs or exchange files with people who use the other one. Here are the ones I come across most often.

File formats

Calc's native format is ODS (OpenDocument Spreadsheet), an open standard. Excel uses XLSX, also based on XML but with different specifications. Both programs read and write both formats, with a few caveats:

  • save in the format of whoever receives the file. If the recipient uses Excel, send XLSX; if they use Calc or you want an open format for archiving, ODS;
  • repeated conversions back and forth between the two formats accumulate small losses, especially in formatting;
  • Calc warns you when you save in a non-native format: the message does not indicate a problem, it simply reminds you that some features might not be preserved.

Interface and command names

By default Calc uses traditional menus and toolbars; from the view settings you can switch on a tabbed interface similar to the Office ribbon. Some features have different names:

Excel LibreOffice Calc
Data Validation Data, Validity
Goal Seek Tools, Goal Seek
Name Manager Sheet, Named Ranges and Expressions
Conditional Formatting Format, Conditional
Flash Fill no direct equivalent

The pivot table has that name in both; in Calc it used to be known as DataPilot, a name still found in guides and forums.

Formulas and functions

The vast majority of common functions exist in both under the same name: SUM, IF, VLOOKUP, SUMIFS, INDEX, MATCH. A few differences worth knowing:

  • Excel's newer functions, such as XLOOKUP, FILTER, UNIQUE and LET, have been added to Calc in recent versions; in older installations a file using them shows errors;
  • some functions exist on one side only: Calc has several that Excel lacks, and vice versa. If a file must work in both, use the common functions;
  • the argument separator: Calc always accepts the semicolon, whatever the regional settings; it is the safest choice even when writing formulas to share in a document;
  • references to other sheets: Excel writes Sheet2!A1, Calc in its native format uses $Sheet2.A1. In practice you need not worry, because conversion is automatic when you open or save a file in the other format; it only matters if you copy formulas as text from one program to the other.

Arrays and array formulas

In recent versions both handle formulas that return several values. In older versions of Calc, as in old Excel, an array formula has to be confirmed with Ctrl+Shift+Enter, and the program wraps it in curly braces. If you receive a file with formulas of this kind and edit them without the right key combination, the formula may stop working.

Macros

This is the sharpest point of incompatibility. Excel uses VBA; Calc uses its own LibreOffice Basic language, and also supports scripts in Python and other languages. Calc can run some VBA macros, but support is limited: macros that manipulate Excel-specific objects often do not work. If a file depends on macros, test it in the recipient's program before handing it over.

Charts and formatting

Basic charts (lines, bars, pies, scatter) convert well. Newer Excel chart types, such as some statistical or waterfall charts, may have no equivalent and be replaced or lost. Likewise, some advanced conditional formatting rules, slicers and table styles may change appearance. Fonts are a frequent cause of layout differences: if a font used in the file is not installed, the program substitutes another one with a different width.

Printing and PDF export

Calc has a very complete built-in PDF export, with options for image quality, bookmarks and protection. Excel exports to PDF too. In both cases it is worth checking the print preview: print areas and page breaks are the settings that most often change when moving from one program to the other.

A checklist before sending a file

In my work, when a sheet has to move from one program to the other, I always run these checks:

  1. open the file in the recipient's program, if possible;
  2. check that no #NAME? or other new errors appear;
  3. check the main totals against the original;
  4. look at the print preview;
  5. if there are macros, run them at least once.

In short

  • Calc works in ODS but opens and saves XLSX; send the file in the recipient's format.
  • Many commands have different names: Validity, Named Ranges and Expressions, and so on.
  • Common functions are identical; recent ones need up-to-date versions.
  • VBA macros are the main point of incompatibility.
  • Before sending, open the file in the other program and check errors, totals and printing.
MM
Marco Marzaduri

Marco Marzaduri works in cybersecurity, digital forensics and web development. A computer science graduate, he combines rigorous technical analysis with attention to the people who use technology.

Read also