使用perl excel win32 ole检索excel单元格背景颜色

我需要检索excel单元格的背景颜色(根据表单中的条件格式设置为红色/绿色)。 尝试search论坛,但没有find任何东西来检索,虽然设置颜色在那里。 任何帮助,将不胜感激…

你需要$Range->Interior()->ColorIndex();

这里是示例程序:

 #!/usr/bin/perl use Modern::Perl; use Win32::OLE; use FindBin qw($Bin); my $ex; eval { $ex = Win32::OLE->GetActiveObject('Excel.Application') }; die "Excel not installed" if $@; unless ( defined $ex ) { $ex = Win32::OLE->new( 'Excel.Application', sub { $_[0]->Quit; } ) or die "Oops, cannot start Excel"; } my $book = $ex->Workbooks->Open("$Bin/test_background.xls"); my $sheet = $book->Worksheets(1); my $Range = $sheet->Range("A1:A1"); say $Range->Interior()->ColorIndex(); $Range = $sheet->Range("B1:B1"); say $Range->Interior()->ColorIndex(); $Range = $sheet->Range("C1:C1"); say $Range->Interior()->ColorIndex(); 

这个文件的输出 在这里输入图像说明 这是:

 3 6 3