Perl: plot graphique sur Excel xls et pas xlsx
Jamie MacUloth
-
JamieMacUloth Messages postés 43 Date d'inscription Statut Membre Dernière intervention -
JamieMacUloth Messages postés 43 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je sais générer un graphique à partir de Perl sur un Excel xlsx (j'utilise les infos de CPAN sur le sujet: http://search.cpan.org/dist/Spreadsheet-WriteExcel/lib/Spreadsheet/WriteExcel/Chart.pm):
my $chart = $workbook->add_chart etc.... et ça marche nickel !
Mais je ne vois pas d'équivalent pour faire de même sur un format xls.
Or je souhaite travailler sur un format xls et non xlsx.
J'ai déjà pas mal farfouillé sur le net mais je ne vois rien qui réponde à ce problème.
Je remercie d'avance celles ou ceux qui pourraient un peu m'aiguiller!
Jamie MacUloth
Je sais générer un graphique à partir de Perl sur un Excel xlsx (j'utilise les infos de CPAN sur le sujet: http://search.cpan.org/dist/Spreadsheet-WriteExcel/lib/Spreadsheet/WriteExcel/Chart.pm):
my $chart = $workbook->add_chart etc.... et ça marche nickel !
Mais je ne vois pas d'équivalent pour faire de même sur un format xls.
Or je souhaite travailler sur un format xls et non xlsx.
J'ai déjà pas mal farfouillé sur le net mais je ne vois rien qui réponde à ce problème.
Je remercie d'avance celles ou ceux qui pourraient un peu m'aiguiller!
Jamie MacUloth
A voir également:
- Perl: plot graphique sur Excel xls et pas xlsx
- Denon perl pro test - Accueil - Audio
- Active perl - Télécharger - Édition & Programmation
- DzSoft Perl Editor - Télécharger - Édition & Programmation
- Comment lire un fichier .pl perl ? - Forum Windows
- Perl: transformer un fichier en package ✓ - Forum Perl
2 réponses
Salut,
C'est bizarre, car d'après la doc CPAN le module Spreadsheet::WriteExcel est précisément sensé gérer l'ancien format .xls seulement, alors que le format .xlsx est géré par le module plus récent Excel::Writer::XLSX
Les deux modules sont compatibles, mais le premier n'est plus maintenu que pour les bogues de sécurité en raison de l'obsolescence du format.
Dal
C'est bizarre, car d'après la doc CPAN le module Spreadsheet::WriteExcel est précisément sensé gérer l'ancien format .xls seulement, alors que le format .xlsx est géré par le module plus récent Excel::Writer::XLSX
Les deux modules sont compatibles, mais le premier n'est plus maintenu que pour les bogues de sécurité en raison de l'obsolescence du format.
Dal
Coucou Dal merci ,
Oui en fait j'ai finalement vu que c'était possible mais j'ai un peu galéré donc je poste ici une solution de mon problème. En fait ce que je veux c'est généré un graphique en me basant sur 2 colonnes d'un xls dont la ligne max est stockée dans une variable $row_range:
En xlsx par exemple:
$chart->add_series(
name => 'le titre de mon graphique',
categories => ["sheet_toto", $row_start, $row_range, $my_col, $my_col], # je sélectionne par exemple une seule colonne genre abscisse
values => ["sheet_toto", $row_start, $row_range, $my_col2, $my_col2], # je sélectionne par exemple une seule colonne genre ordonnée,
);
==> La même syntaxe plantait en xls et du coup j'ai cru que c'était pas possible. Finalement en fouillant j'utilise cette syntaxe et ça marche:
En xls:
$chart->add_series(
name => "'le titre de mon graphique",
categories => "=sheet_toto!\$C$2:\$C:$row_range",
values => "=sheet_toto!\$G$2:\$G:$row_range",
);
==> cette syntaxe marche pour xls pour moi :)
JamieMacUloth
Oui en fait j'ai finalement vu que c'était possible mais j'ai un peu galéré donc je poste ici une solution de mon problème. En fait ce que je veux c'est généré un graphique en me basant sur 2 colonnes d'un xls dont la ligne max est stockée dans une variable $row_range:
En xlsx par exemple:
$chart->add_series(
name => 'le titre de mon graphique',
categories => ["sheet_toto", $row_start, $row_range, $my_col, $my_col], # je sélectionne par exemple une seule colonne genre abscisse
values => ["sheet_toto", $row_start, $row_range, $my_col2, $my_col2], # je sélectionne par exemple une seule colonne genre ordonnée,
);
==> La même syntaxe plantait en xls et du coup j'ai cru que c'était pas possible. Finalement en fouillant j'utilise cette syntaxe et ça marche:
En xls:
$chart->add_series(
name => "'le titre de mon graphique",
categories => "=sheet_toto!\$C$2:\$C:$row_range",
values => "=sheet_toto!\$G$2:\$G:$row_range",
);
==> cette syntaxe marche pour xls pour moi :)
JamieMacUloth