mygems

Convertir un CSV en Excel

Un vrai .xlsx, sans que rien n’ait changé en route.

  • Les zéros en tête sont conservés
  • Les longs identifiants ne sont pas arrondis
  • Les nombres restent additionnables
  • Rien n’est envoyé

1.Ouvrez le fichier

CSV ou TSV. Glissez-le ici, ou choisissez un fichier.

Pourquoi ça existe

Ouvrir un CSV dans Excel n’est pas un geste neutre. Excel devine ce que chaque cellule signifie, et ses suppositions sont destructrices : les codes postaux perdent leur zéro en tête, les numéros de commande à 16 chiffres sont arrondis à 15, et tout ce qui ressemble à une date en devient une. Ici, le .xlsx est écrit directement, chaque colonne étant décidée d’après toutes ses valeurs : les nombres arrivent comme des nombres que vous pouvez additionner, et tout ce qui ressemble seulement à un nombre arrive comme le texte qu’il était.

Ce que ça fait

  • Lit toutes les valeurs de chaque colonne, pas un échantillon, avant de décider si la colonne est numérique.
  • Écrit les nombres comme de vrais nombres et vrai/faux comme des booléens Excel.
  • Garde en texte toute colonne avec des zéros en tête ou de plus de 15 chiffres, et vous montre lesquelles avant le téléchargement.
  • Fige et met en gras la ligne d’en-tête, ajoute un filtre et ajuste la largeur des colonnes.
  • Répartit un fichier de plus de 1 048 576 lignes sur plusieurs feuilles d’un même classeur, car c’est la limite d’Excel par feuille.

Pourquoi ne pas simplement ouvrir le CSV dans Excel

Parce qu’Excel convertit à l’ouverture, et c’est cette conversion qui fait les dégâts. Une cellule qui valait `00742` est stockée comme 742, et enregistrer le fichier écrit 742. Écrire directement le classeur, c’est décider une seule fois du type de chaque cellule, selon une règle visible, plutôt que d’après la supposition d’Excel au moment du double-clic.

Questions

Mes zéros en tête seront-ils conservés ?
Oui. Toute colonne dont une valeur commence par un zéro suivi d’autres chiffres est écrite en texte : 00742 reste donc 00742 dans le classeur et dans toutes ses copies.
Pourquoi certains de mes nombres sont-ils stockés en texte ?
Parce que ce sont des identifiants et non des quantités : codes postaux, numéros de téléphone, de compte ou de commande. Excel ne retient que 15 chiffres significatifs, donc un nombre à 16 chiffres serait arrondi, et un identifiant dont le dernier chiffre change n’est plus le même identifiant. Si vous préférez tout en texte, cochez la case et rien n’est converti.
Est-ce que ça marche avec de très gros fichiers ?
Oui, dans la limite de la mémoire de l’onglet du navigateur. Au-delà de 1 048 576 lignes, le classeur reçoit une deuxième feuille, puis une troisième, car une feuille Excel ne peut pas en contenir davantage.