___________________________
Perl: “Dalam Contoh Praktis 5”
( Perl untuk membuat Excel file dan Chart . )
Oleh : Faiq Azmi [
[email protected]]
Untuk umum, hasil kompilasi beberapa sumber. Ver. 12.2008
1
1. Perl Spreadsheet / Excel. Untuk menunjang otomatisasi pengolahan data yang sifatnya regular dan harus selalu ada datanya tiap jam, hari, bulan ataupun tahun terutama untuk reporting dan statistic , terkadang kita memerlukan semua aplikasi yang bisa membuat beban pekerjaan kita yang kita kerjakan secara manual terasa berat akan menjadi ringan dan menghemat waktu. Disini fungsi perl untuk script otomatisasi pembuat document dalam bentuk excel ataupun chart sekalipun sangatlah bermanfaat dan membantu. 2. Modul Excel didalam Perl. Begitu banyak modul excel di dalam perl yang bisa dilihat di http://search.cpan.org , namun untuk kali ini kita akan membahas sedikit dengan menggunakan modul Spreadsheet::WriteExcel Pastikan lib perl anda sudah terinstall modul tersebut :
Pada dasarnya modul ini memerlukan beberapa modul tambahan lainnya sesuai dengan kelengkapan didalam lib perl kita, namun lib tersebut bisa diinstall menyusul kemudian. Contoh script perl excel untuk membuat data excel dari file text delimeted dengan koma.
Berikut adalah file source dengan nama ex.log
Untuk umum, hasil kompilasi beberapa sumber. Ver. 12.2008
2
Berikut adalah script perl excel dengan nama ex1.pl akan menghasilkan file excel ex1.pl -----------------------------------------------------------------------------------------------------use Spreadsheet::WriteExcel; open (fin,"c:/ex.log"); my $workbook = Spreadsheet::WriteExcel->new("ex1.xls"); my $worksheet = $workbook->add_worksheet("test"); my $worksheet1= $workbook->add_worksheet("test1"); my $row = 0; while (
) { $_ =~ s/(\r|\n)+//gi; $no++; @fld = split(/\,/); unshift(@fld,$no); $col = 0; foreach $token (@fld) { $worksheet->write($row, $col, $token); $col++; } $row++; }
------------------------------------------------------------------------------------------------------
Setelah dijalankan , prompt>perl ex1.pl , akan dihasilkan output file ex1.xls
Untuk umum, hasil kompilasi beberapa sumber. Ver. 12.2008
3
3. Chart Menggunakan Modul Spreadsheet::WriteExcel. Dengan modul perl ini kita bisa membuat char didalam outputnya, stepnya Adalah sebagai berikut : 1. Buatlah file excel dulu untuk templatenya. 2. Tambahkan worksheet dengan contoh data. 3. Buatkah chart dari data tersebut usahakan mengcover data parameter dan value. 4. Tambahkan chart data series untuk menghindari kekurangan range dari data yang bertambah banyak dikemudian hari. Misalnya jika kita mempunya 10 data point tetapi kita berasumsi suatu saat bisa sampai 2000 maka tambahkan data series menjadi 2000. 5. Format chart sesuai keinginan , pie , bar dan lainnya. 6. Simpan workbook / excel file tersebut. 7. Menggunakan chartex.pl untuk extract menjadi file .bin Contoh : perl chartex.pl file.xls 8. Buatlah script perl seperti contoh menggunakan Spreadsheet::WriteExcel. 9. Tambahkan : my $chart = $workbook->add_chart_ext('chart01.bin', 'Chart1');
10. Buatlah link :
Untuk umum, hasil kompilasi beberapa sumber. Ver. 12.2008
4
$worksheet->store_formula('=Sheet1!A1'); 11. Contoh script --------------------------------------------------------------------------------------use Spreadsheet::WriteExcel; my $workbook = Spreadsheet::WriteExcel->new("ex1_chart.xls"); my $worksheet = $workbook->add_worksheet("test"); my $worksheet1= $workbook->add_worksheet("test1"); my $chart = $workbook->add_chart_ext('chart01.bin', 'Chart1'); $chart->activate(); $worksheet->store_formula('=test!A1'); my $chart_font_1 = $workbook->add_format(font_only => 1); my $chart_font_2 = $workbook->add_format(font_only => 1); $workbook->add_format(color => 1); $workbook->add_format(color => 2, bold => 1); $workbook->add_format(color => 3); my $row = 0; open(fin,"c:/ex.log"); while () { $_ =~ s/(\r|\n)+//gi; $no++; @fld = split(/\,/); unshift(@fld,$no); $col = 0; foreach $token (@fld) { $worksheet->write($row, $col, $token); $col++; } $row++; } -----------------------------------------------------------------
Jika dijalankan akan menghasilkan file ex1_chart.xls
Untuk umum, hasil kompilasi beberapa sumber. Ver. 12.2008
5
4. Chart dengan menggunakan modul GD::Graph. Untuk keperluan graph / chart , didalam perl juga ada modul yaitu GD::Graph dan bisa di download di http://search.cpan.org
file nya adalah
GDGraph-1.44.tar.gz GD-Graph3d-0.63.tar.gz dan GDTextUtil-0.86.tar.gz Didalam modul ini kita bisa membuat graph dalam bentuk pie, bar, line dan lain sebagainya.
Contoh script gd.pl ---------------------------------------------------------------------------------------------------use GD::Graph::pie3d; @jeneng = ( 'Faiq', 'Emil', 'Fera' ); @persen = ( '35', '35', '30' ); join(' ', @jeneng); join(' ', @persen); push(@table_data, \@jeneng); push(@table_data, \@persen); $my_graph = new GD::Graph::pie3d(250, 250); $my_graph->set(
Untuk umum, hasil kompilasi beberapa sumber. Ver. 12.2008
6
title => "Human Resourses $file", axislabelclr => 'black', accentclr => 'black', '3d' => 1, suppress_angle => 5, start_angle => 0, #pie_height => '0' ); $plot = $my_graph->plot(\@table_data); $pie_file = "pie.gif"; open(IMG, ">$pie_file"); binmode(IMG); print IMG $plot->gif(); close(IMG);
-----------------------------------------------------------------------------------------------------Setelah dijalankan akan menghasilkan file image output pie.gif
Daftar Pustaka 1. www.google.com 2. Pengalaman Penulis.
Untuk umum, hasil kompilasi beberapa sumber. Ver. 12.2008
7