如何使用 perl 在单元格中编写公式 WIN32::OLE
HowTo write a formula in cell using perl WIN32::OLE
我尝试在 Excel 工作表中插入公式 =IF(D2="";"";COUNTIF(D:D;D2))
。
这是我正在尝试的代码:
$WorkSheet->Cells($Row2Use,'L')->{Formula} = "=IF(D".$Row2Use."=\"\",\"\",COUNTIF(D:D,D".$Row2Use.")"; # =IF(D2="";"";COUNTIF(D:D;D2))
我也试过用{Value}
代替{Formula}
,但没有成功!
我做错了什么
以下内容适合我。从 xxfelixxx.
给出的 link 中获取和修改的代码
use Cwd 'abs_path';
use Win32::OLE;
use Win32::OLE qw(in with);
use Win32::OLE::Const "Microsoft Excel";
$Win32::OLE::Warn = 3;
my $Excel = Win32::OLE->GetActiveObject('Excel.Application') || Win32::OLE->new('Excel.Application', 'Quit');
$Excel->{Visible} = 1;
my $Book = $Excel->Workbooks->Add;
my $Sheet = $Book->Activesheet;
$Sheet->Range("A1")->{Value} = 1;
$Sheet->Range("A2")->{Value} = 1;
$Sheet->Range("A3")->{Formula} = "=SUMA(R[-2]C:R[-1]C)";
我尝试在 Excel 工作表中插入公式 =IF(D2="";"";COUNTIF(D:D;D2))
。
这是我正在尝试的代码:
$WorkSheet->Cells($Row2Use,'L')->{Formula} = "=IF(D".$Row2Use."=\"\",\"\",COUNTIF(D:D,D".$Row2Use.")"; # =IF(D2="";"";COUNTIF(D:D;D2))
我也试过用{Value}
代替{Formula}
,但没有成功!
我做错了什么
以下内容适合我。从 xxfelixxx.
给出的 link 中获取和修改的代码use Cwd 'abs_path';
use Win32::OLE;
use Win32::OLE qw(in with);
use Win32::OLE::Const "Microsoft Excel";
$Win32::OLE::Warn = 3;
my $Excel = Win32::OLE->GetActiveObject('Excel.Application') || Win32::OLE->new('Excel.Application', 'Quit');
$Excel->{Visible} = 1;
my $Book = $Excel->Workbooks->Add;
my $Sheet = $Book->Activesheet;
$Sheet->Range("A1")->{Value} = 1;
$Sheet->Range("A2")->{Value} = 1;
$Sheet->Range("A3")->{Formula} = "=SUMA(R[-2]C:R[-1]C)";