Adresse physique

Bureau 536 (5ème étage)
Bâtiment Olympe de Gouges
8 rue Albert Einstein
75013 Paris

Adresse postale

Case Postale 7031
5 rue Thomas Mann
F-75205 Paris Cedex 13

Email

achille.falaise@univ-paris-diderot.fr

Achille Falaise

Docteur en informatique
Ingénieur d'Études CNRS
Laboratoire LLF

 

Conversion tableurs cli: Conversion MS Excel <-> Calc <-> CSV en ligne de commande.

Le logiciel ssconvert, qui fait partie du projet Gnumeric, permet d'effectuer des conversions entre la plupart des formats de tableurs.

Formats supportés en entrée:

  • Applix (*.as)
  • Quattro Pro (*.wb1, *.wb2, *.wb3)
  • Format de fichier Xbase (*.dbf)
  • MS Excel™ (*.xls)
  • XHTML (*.html, *.htm)
  • ECMA 376 / Office Open XML [MS Excel™ 2007/2010] (*.xlsx)
  • MS Excel™ (*.xls) exigeant une spécification du codage
  • GNU Oleo (*.oleo)
  • SC/xspread
  • Format de fichier Gnumeric XML (*.gnumeric)
  • Lotus 123 (*.wk1, *.wks, *.123)
  • Format Open Document (*.sxc, *.ods)
  • MultiPlan (SYLK)
  • Format de fichier de programmation linéaire (*.mps)
  • Data Interchange Format (*.dif)
  • MS Excel™ 2003 Feuille de calcul ML
  • Importation de format Plan Perfect (PLN)
  • Fichiers CSV/TSV (valeurs séparées par des virgules ou des tabulations)

Formats supportés en sortie:

  • ISO/IEC 29500:2008 & ECMA 376 2nd edition (2008); [MS Excel™ 2010]
  • ECMA 376 1st edition (2006); [MS Excel™ 2007]
  • MS Excel™ 97/2000/XP & 5.0/95
  • MS Excel™ 5.0/95
  • MS Excel™ 97/2000/XP
  • TROFF (*.me)
  • LaTeX 2e (*.tex) table fragment of visible rows
  • Fragment de table LaTeX 2e (*.tex)
  • LaTeX2e (*.tex)
  • Plage XHTML - pour exporter vers le presse-papiers
  • XHTML (*.html)
  • Fragment de HTML 4.0 (*.html)
  • HTML 4.0 (*.html)
  • HTML 3.2 (*.html)
  • Programme de solveur linéaire GLPK
  • Data Interchange Format (*.dif)
  • MultiPlan (SYLK)
  • Programme de solveur linéaire LPSolve
  • ODF 1.2 extended conformance (*.ods)
  • ODF 1.2 strict conformance (*.ods)
  • Fichier CSV (valeurs séparées par des virgules)
  • Texte (paramétrable)
  • Gnumeric XML uncompressed (*.xml)
  • Format de fichier Gnumeric XML (*.gnumeric)
  • Exportation PDF

Par défaut, le paquet gnumeric s'installe avec énormément de dépendances, ce qui est très lourd sur un serveur headless (ou même juste une machine n'utilisant pas Gnome); il est donc préférable d'utiliser une option permettant de ne pas installer les paquets recommandés. Gnumeric ne fonctionnera pas (c'est un non-sens sur un serveur headless), mais ssconvert fonctionnera, et c'est tout ce qu'on demande.

sudo apt install gnumeric --no-install-recommends

Une fois installé, ssconvert est très simple d'utilisation. Pour convertir un fichier xlsx en csv, il suffit par exemple d'utiliser la commande:

ssconvert source.xlsx cible.csv
Il y a aussi évidemment des options pour choisir les séparateurs d'un CSV ou spécifier l'encodage des caractères (voir le man).

Si ssconvert affiche des messages d'avertissement, par exemple à propos de l'absence d'un serveur X (normal sur un serveur headless), on peut facilement rediriger ces messages vers le néant:

ssconvert source.xlsx cible.csv > /dev/null 2>&1