programming-examples/perl/Win32/Use OLE automation to create an Excel chart.pl
2019-11-15 12:59:38 +01:00

48 lines
1.0 KiB
Perl

#!/usr/bin/perl -w
use Win32::OLE;
use Win32::OLE::Const 'Microsoft Excel';
$class = 'Excel.Application';
$app = Win32::OLE->new( $class ) or die "Cannot connect to Excel, $!";
# Make application visible.
$app->{'Visible'} = 1;
# Create a new workbook.
$workbook = $app->Workbooks->Add();
# Set values in a "range".
$app->Range("A1")->{'Value'} = "A";
$app->Range("B1")->{'Value'} = "B";
$app->Range("B2")->{'Value'} = "C";
$app->Range("C2")->{'Value'} = "D";
$app->Range("A3")->{'Value'} = "E";
$app->Range("B3")->{'Value'} = 10;
$app->Range("C3")->{'Value'} = 10;
#
# Make a chart.
#
$worksheet = $workbook->Worksheets(1);
$chart_range = $worksheet->Range("B3:C3");
$chart = $app->Charts->Add();
#$chart->{'ChartType'} = xlAreaStacked;
$chart->SetSourceData(
{
Source => $chart_range,
PlotBy => xlColumns
} );
$chart->{'HasTitle'} = 1;
$chart->ChartTitle->{'Text'} = "Chart Title";
# Leave Excel running. Use $app->Quit() to exit.
#$app->Quit();