Perl で Excel

Excel のシート名を列挙する (ADO)

lesson007.pl


use Win32::OLE;

Win32::OLE::CreateObject("ADODB.Connection",$cn);
$cn->{Provider} = "Microsoft.Jet.OLEDB.4.0";
$cn->{ConnectionString} = "Data Source=".$ARGV[0].";Extended Properties=Excel 8.0;";
$cn->{CursorLocation} = 3; # adUseClient
$cn->Open;

$rs = $cn->OpenSchema(20); # adSchemaTables
while (!$rs->EOF)
{
print $rs->Fields("TABLE_NAME")->Value, "\n";
$rs->MoveNext;
}
$rs->Close;

$cn->Close;

実行結果

C:\>perl c:\study\perl\chapter004\lesson007.pl c:\study\Book1.xls
Sheet1$
Sheet2$
Sheet3$