• [^] # Convertisseur ? Test

    Posté par . En réponse au journal Retour d'expérience d'une petite administration sous linux depuis 8 ans qui fait marche arrière. Évalué à 8. Dernière modification le 30 novembre 2017 à 06:02.

    Lors du test, j'avais sur ma machine que libreoffice, un fichier excel créé par mon application, qui est une extraction de base de donnée.
    Fichier des 125 lignes avec une 15 de colonnes, aucun calcul dessus, mais des colonnes avec des cases contenant pas mal de texte.

    Si tu enregistres le fichier au format .ods et que tu le rouvres, est-ce que ça met autant de temps ?

    Par définition, le format Excel est le format natif d’Excel. Les autres logiciels doivent en plus convertir. Ça peut être intéressant de vérifier déjà que le problème ne vient pas du convertisseur.

    Pour voir, j’ai généré un fichier TSV avec 125 lignes de 15 colonnes de chaînes aléatoires d’une longueur comprise entre 1000 et 10000 caractères (quand même long, quoi). L’ouverture prend trois secondes.

    Je l’ai sauvegardé en .xlsx et rouvert. L’ouverture prend trois secondes aussi. Je ne sais pas pourquoi c’est lent dans ton cas.

    Pour référence ma version de LibreOffice est la 5.3.7.2.0+ (d’après la fenêtre À propos) sous GNU/Linux, et voici le code que j’ai utilisé pour générer le fichier TSV :

    #!/usr/bin/perl -w
    use strict;
    my @_car_possible = ((' ') x 10, '0' .. '9', 'a' .. 'z', 'A' .. 'Z');
    sub car_hasard {
     return $_car_possible[int rand @_car_possible];
    }
    sub chaine_hasard {
     my ($lg_min, $lg_max) = @_;
     my $lg = 8;
     if (defined $lg_min) {
     if (defined $lg_max) {
     $lg = $lg_min + int rand($lg_max - $lg_min + 1);
     } else {
     $lg = $lg_min;
     }
     }
     my $res = '';
     for (1 .. $lg) {
     $res .= car_hasard();
     }
     return $res;
    }
    for (1 .. 125) {
     print join("\t", map { '"' . chaine_hasard(1000, 10000) . '"'; } 1 .. 15), "\n";
    }

    « Le fascisme c’est la gangrène, à Washington comme en Russie. » — adapté de Renaud, Hexagone