PerlでOLEモジュールを用いてExcelファイルの読み書きをする

PerlでOLEモジュールを用いてExcelファイルの読み書きをする

使い方

使い方は以下のコードを見れば一目瞭然です。

ctrlExcel.pl
#!/usr/bin/perl
use Win32::OLE qw(in with);
use Win32::OLE::Const 'Microsoft Excel';

# エクセルオブジェクトを取得(新たにExcelを立ち上げる)
my $excel = Win32::OLE->new('Excel.Application') || die "cannot get active excel!";

# エクセルオブジェクトを取得(既に立ち上がってるExcelから取得する)
# my $excel = Win32::OLE->GetActiveObject('Excel.Application') || die "cannot get active excel!";

# ブックを追加
my $book = $excel->Workbooks->add();

# シートを取得
my $sheet = $book->ActiveSheet;

# セルに値を書き込む
$sheet->Range("A1")->{Value} = "Col1";
$sheet->Range("B1")->{Value} = "Col2";
$sheet->Range("C1")->{Value} = "Col3";

# セルの値を取得する
my $data = $sheet->Range("A1")->{Value};
print $data . "\r\n";

# セルの値を取得する(範囲指定)
my $array = $sheet->Range("A1:C1")->{Value};
print $$array[0][0]  . "\r\n";
print $$array[0][1]  . "\r\n";
print $$array[0][2]  . "\r\n";

# ブックを名前を付けて保存する
$book->SaveAs('C:\test.xlsx');

# ブックを閉じる
$book->Close();

# エクセルを閉じる
$excel->Quit();
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.