Le XLS est le binaire Excel d'avant 2007. Le HTML est le balisage du web, avec des titres et des tableaux natifs. LibreOffice se tient entre les deux, et cette page dit exactement ce qui arrive à un fichier XLS en route vers le HTML.
Ce qui s'exécute quand un fichier XLS devient un HTML
LibreOffice 24.2, sur une machine que nous louons et que nous surveillons. Votre fichier XLS est envoyé une fois, LibreOffice s'exécute une fois, le fichier HTML revient, et aucun des deux fichiers n'est conservé. XLS vers HTML fait partie des 3649 paires sur lesquelles ce moteur a été sondé avec un vrai fichier, et c'est pour cela que cette page existe quand celles que la sonde n'a pas su prouver n'existent pas.
Ce qui survit du fichier XLS dans le fichier HTML
Le texte, comme du texte dans une page web : rien à télécharger pour le lire, et tout ce qui sait lire le HTML sait le lire.
Les tableaux, écrits comme des tableaux HTML plutôt qu'en espaces alignés.
Les formules de cellule, portées dans le HTML à côté de leurs valeurs.
Ce que la conversion XLS vers HTML vous coûte
La géométrie de page. Le HTML n'a pas de pages : les marges, les sauts de page, les en-têtes et les pieds de page n'ont donc nulle part où aller. Cette paire transforme un document en page web, pas en image de page.
Les polices, sauf si le lecteur les possède déjà. Le HTML les nomme et le navigateur remplace par ce qu'il a.
D'où viennent les fichiers XLS et HTML
XLS. Excel l'écrivait avant 2007, et des choses en produisent encore : vieux logiciels métier, machines que personne n'a mises à jour, exports de systèmes écrits dans les années quatre-vingt-dix. Il s'arrête à 65 536 lignes et 256 colonnes, un plafond que le XLSX a relevé d'un facteur seize, et un nombre croissant d'outils le refusent désormais franchement parce que c'est un binaire OLE2 et non une archive zip de XML.
Si un modèle doit lire le fichier HTML
La structure est ce qui subsiste du fichier XLS, et la structure est ce dont un modèle a besoin. XLS en entrée, HTML en sortie, avec l'arbre des titres intact plutôt qu'aplati en un seul long paragraphe.
XLS vers HTML, mesuré plutôt que promis
En passant XLS vers HTML sur le moteur réel avec un vrai fichier, LibreOffice a écrit 2 101 octets au format HTML en 1,0 secondes, machine par ailleurs au repos. C'est un fichier XLS un jour donné et non une moyenne, et c'est pourquoi le nombre est donné avec le fichier qui l'a produit.
Le verdict XLS vers HTML a été obtenu par la relecture du type interne et la recherche d'un mot témoin, c'est-à-dire que la sortie a été relue et reconnue. Le contrôle employé compte, parce qu'ils ne prouvent pas tous la même chose, et un code de statut 200 ne prouve strictement rien sur ce que le fichier HTML contient.
Le même fichier XLS, envoyé ailleurs
Les autres sorties que la sonde a mesurées à partir d'un fichier XLS, pour que le coût du choix du format HTML se lise face à quelque chose. Les tailles ne se comparent pas d'un moteur à l'autre, chaque famille ayant été sondée avec son propre fichier témoin XLS.
XLS vers PDF : 18 519 octets en 1,0 secondes, vérifié par une signature de format.
Les autres routes vers HTML, et ce qu'elles ont mesuré
Parmi les routes publiées vers HTML, XLS est la dixième plus grosse sortie des 12 mesurées. Les fichiers témoins diffèrent : ce classement porte sur la sonde et non sur votre document.
CSV vers HTML : 3 894 octets en 0,1 secondes.
JSON vers HTML : 4 018 octets en 0,1 secondes.
ODP vers HTML : 12 295 octets en 1,6 secondes.
ODS vers HTML : 2 066 octets en 1,0 secondes.
ODT vers HTML : 4 043 octets en 0,1 secondes.
Ce que nous ne prétendrons pas sur XLS vers HTML
Un fichier XLS de plus de 25 Mo est refusé avant la fin de l'envoi plutôt qu'après, pour que vous n'attendiez pas un refus.
Une conversion XLS vers HTML qui dépasse 90 secondes est tuée, et le processus LibreOffice avec elle. Une exécution abandonnée resterait posée sur l'un des deux cœurs de la machine jusqu'à ce que quelqu'un le remarque.
LibreOffice est sérialisé exprès, un document à la fois par travailleur, parce que chaque instance de soffice prend 150 à 300 Mo sur une machine qui en a 3,8 Go. Plafond mesuré : 23 conversions XLS en vol et environ 0,9 par seconde en régime établi. Au-delà, la file répond 429 plutôt que de s'écrouler, ce qui a été testé à 32 simultanées.
Les deux tiers des paires qu'on pourrait imaginer dans cette famille n'existent pas, et il vaut mieux savoir pourquoi avant d'en chercher une. LibreOffice convertit à l'intérieur de l'application qui a ouvert votre fichier : depuis un tableur, il écrit des tableurs, du texte brut, du HTML et du PDF, et il n'écrira pas de .docx quelle que soit la façon dont on le lui demande. Il ne rend rien du tout plutôt que quelque chose de faux. Sur 113 combinaisons sondées sur ce moteur, 64 sont revenues avec un vrai fichier et le reste a été refusé net.
Cette paire fait partie des 64. Elle a été prouvée en envoyant un vrai fichier XLS par la route vivante et en lisant le HTML qui revenait : non pas son extension, ses entrailles, plus un mot témoin planté dans la source et retrouvé dans la sortie. Les propriétés nommées plus haut sur cette page viennent d'une seconde sonde qui les cherche une à une.
Un fichier XLS à la fois, choisi dans le navigateur. Il n'y a rien d'autre à régler et rien d'autre à proposer.
XLS vers HTML : les questions que l'on pose
Qu'est-ce qui convertit vraiment mon fichier XLS en HTML ?
C'est LibreOffice qui s'en charge, en 24.2, sur une machine que nous louons et que nous surveillons. Ni astuce de navigateur, ni service d'un tiers : le fichier XLS est envoyé une fois, LibreOffice s'exécute une fois, le HTML revient, et aucun des deux fichiers n'est conservé ensuite.
Combien de temps prend une conversion XLS vers HTML ?
Sur le fichier utilisé par la sonde, LibreOffice a mis 1,0 seconde et écrit 2 101 octets de HTML. C'est une mesure réelle sur un fichier XLS réel, pas une moyenne et pas une promesse sur le vôtre : un XLS plus gros prend plus longtemps, et au-delà de 90 secondes l'exécution est arrêtée.
Qu'est-ce que je perds en passant du XLS au HTML ?
Celle qu'il faut connaître en premier : la géométrie de page. Le HTML n'a pas de pages : les marges, les sauts de page, les en-têtes et les pieds de page n'ont donc nulle part où aller. Cette paire transforme un document en page web, pas en image de page.
Mes notes d'orateur sont-elles dans le HTML ?
Non. Ce qui atterrit dans le HTML est ce qui était sur les diapositives.
Puis-je ouvrir le HTML sans aucun logiciel ?
Oui. N'importe quel navigateur l'ouvre, et c'est la raison de préférer le HTML à un XLS : aucune application, aucun greffon, aucune étape de téléchargement pour celui à qui vous l'envoyez.
La conversion XLS vers HTML est-elle gratuite ?
Il y a une franchise gratuite chaque mois, et une conversion XLS vers HTML coûte un demi-crédit dessus. Quand la franchise est épuisée, l'outil le dit et s'arrête, plutôt que de vous remettre discrètement un HTML moins bon.