PERL ecrire dans un fichier ods/xls

nar6killa Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
 nar6killa -
Bonjour à tous et toutes,
débutant en Perl apres maintes recherches je solicite votre aide pour transférer les données que j'ai recceuillit avec perl dans un tableaux excel ou calc 1er est-ce que cela est-il possible, si oui pouvez vous me montrer.
2eme si vous connaissez un site qui apprend vraiment bien de manière plutot simple le Perl pouvez vous me donnez le lien. D'avance merci et Bonne année a tous!!!
A voir également:

5 réponses

loupius
 
Bien sûr que c'est possible.
Il suffit de fabriquer un fichier '.csv':
- chaque ligne du fichier correspond à une ligne du tableur
- sur une ligne les cellules sont encadrées par des guillemets (non obligatoires mais plus pratiques) et séparées par un délimiteur (en général virgule, mais pouvant être point-virgule, tabulation...).
Exemple:
"Martin", "Marcel", "75", "Paris"
"Dupond", "Robert", "69", "Lyon"
"Durand", "Marie", "41", "Blois"

Il suffira ensuite d'importer ce fichier dans Excel en lui précisant, au besoin, le délimiteur utilisé.
0
loupius
 
Pardon, je n'avais pas vu le titre.
Mais de toutes façons, je ne change pas ma réponse.
En effet bricoler un fichier ods ou xls n'est pas de mon niveau; ou plutôt je considère qu'il y a aucun intérêt à le faire (à moins d'en avoir vraiment la nécessité).
0
nar6killa
 
merci de ton aide j'en ai, VRAIMENT besoin. peut m'expliquer comment fabriquer un '.csv' stp comme je l'ai dit je debute... merci
0
loupius
 
J'ai supposé avoir un tableau de données pour en fabriquer un fichier à 3 cellules par lignes (je suppose que tes données sont dans un tableau).
#!/usr/bin/perl -w
use strict;

my @tableau = ("a1","a2","a3", "b1","b2","b3", "c1","c2","c3","d1","d2", "d3");
my ($elem, $ligne, $index);

open (FICHIER, ">fichier.csv");

$index = 0;
foreach $elem (@tableau)
{
        $ligne .= "\"".$elem."\"";
        $index++;
        if ($index == 3)
        {
                print FICHIER $ligne."\n";
                $ligne = "";
                $index = 0;
        }
        else
        {
                $ligne .= ",";
        }
}
close (FICHIER);
D'avance, je demande pardon aux vrais perlistes car j'ai produit un code plus proche du C que de Perl; mais je n'utilise Perl que trop rarement.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nar6killa
 
peut on faire corespondre des données de sortie a un element du tableau ?
exemple:

if (/^MODELE:\s*(.+)\s*$/)
{
print "Modèle: ".$1."\n";
}

est-ce que je peut transferer le resultat de la ligne ' print"Modèle: ".$1."\n"; ' dans mon tableaux ???
0