/ / Comment utiliser Spreadsheet :: WriteExcel pour créer un graphique à partir de données de journal numériques? - perl, excel

Comment utiliser Spreadsheet :: WriteExcel pour créer un graphique à partir de données de journal numériques? - perl, excel

j'ai utilisé csv2xls.pl convertir un journal texte en .xls format, puis je crée un graphique comme suit:

my $chart3 = $workbook->add_chart( type => "line" , embedded => 1);

# Configure the series.
$chart3->add_series(
categories => "=Sheet1!$B$2:$B$64",
values     => "=Sheet1!$C$2:$C$64",
name       => "Test data series 1",
);

# Add some labels.
$chart3->set_title( name => "Bridge Rate Analysis" );
$chart3->set_x_axis( name => "Packet Size " );
$chart3->set_y_axis( name => "BVI Rate" );

# Insert the chart into the main worksheet.
$worksheet->insert_chart( "G2", $chart3 );

Je peux voir le tableau dans le .xls fichier. Toutefois, toutes les données sont au format texte et non numérique, de sorte que le graphique semble faux.

Comment convertir du texte en chiffres avant d'appliquer cette fonction create-chart?

Aussi, comment puis-je trier le .xls déposer avant de créer le graphique?

Réponses:

2 pour la réponse № 1

Si Excel affiche les données sous forme de texte, vous avez créé les cellules sous forme de texte.

Vous avez omis le code de csv2xls.pl, il est donc difficile de deviner quel est le problème exact. Vous utilisez peut-être la méthode Spreadsheet :: WriteExcel write_string () au lieu de write_number () ou de la méthode générique. écrire().

Comment puis-je trier le fichier .xls avant de créer le graphique?

Le format de fichier Excel n’a pas d’option de tri. Le tri est effectué par Excel après le chargement du fichier. Une solution serait de trier le fichier CSV d'entrée avant d'utiliser Sreadsheet :: WriteExcel pour le convertir.


0 pour la réponse № 2

La façon de le faire dans Excel est de le brancher dans une cellule différente:

=value(trim(clean(a1)))

où a1 est la cellule contenant les données d'origine qui se présente sous forme de texte. Ensuite, utilisez cette référence de cellule pour votre cartographie.

HTH