win32:OLE 运行时报错,求解

win32:OLE 运行时报错,求解

报错代码如下win32::OLE<0.1709> error ox80020003:""in Method/propertyget"" 这是错误提示 如何解决

代码如下:
my $ex = Win32::OLE->new('Excel.Application') or die "errors\n";
my $xw = $ex->Workbooks->Open("test.xls");
my $sheetxw = $xw->Worksheets(9);

    foreach $fan (@fan)
{

  print ($fan);
$sheetxw->cells($num,4)->{value} = $fan;
      $num++;

}


           $sheetxw->Save;                                                 #保存excel
           $sheetxw->Close;                                                #关闭excel
           $ex->Quit;
报错指的位置是 最后3行
我用下面代码测试没问题。你检查一下@fan的内容

[Copy to clipboard] [ - ]
CODE:
use Win32::OLE;

my $ex = Win32::OLE->new('Excel.Application') or die "errors\n";
my $xw = $ex->Workbooks->Open("f:/luyc/perl/test.xls") or die $!;
my $sheetxw = $xw->Worksheets(1);

@fan = qw(a b c d e f g h i);
foreach $fan (@fan)
{
    print ($fan);
    $sheetxw->cells($num,4)->{value} = $fan;
    $num++;
}

$sheetxw->Save; #保存excel
$sheetxw->Close; #关闭excel
$ex->Quit

是的 我的@fan 是-18.22 dBm-22.96 dBm-27.43 dBm-25.42 dBm-25.63 dBm-12.15 dBm-12.39 dBm-12.17 dBm
尽管报错可是执行没问题


QUOTE:
原帖由 hustddb 于 2009-1-13 13:03 发表
是的 我的@fan 是-18.22 dBm-22.96 dBm-27.43 dBm-25.42 dBm-25.63 dBm-12.15 dBm-12.39 dBm-12.17 dBm
尽管报错可是执行没问题

我用这个数据测试一下看看


QUOTE:
原帖由 hustddb 于 2009-1-13 13:03 发表
是的 我的@fan 是-18.22 dBm-22.96 dBm-27.43 dBm-25.42 dBm-25.63 dBm-12.15 dBm-12.39 dBm-12.17 dBm
尽管报错可是执行没问题

你只用贴出的代码,用这个数据也会报错吗?
我用这个数据没问题。
代码里只改了Worksheets(9) -> Worksheets(1);