尝试使用以下代码插入空行时
my$StartRow="101";my$StartCol="1";
$Sheet->单元格($StartRow,$StartCol)->EntireRow->插入;
发生错误:Win32::OLE(0.1709)错误0x800a03ec在1_SPNV3G_WSS-MGW_1_0_Chicago.pl第1732行的METHOD/PROPERTYSET"Cells"中。
Win32::OLE(0.1709)错误0x80010108:"调用的对象已断开连接来自其客户"在METHOD/PROPERTYSET的1_SPNV3G_WSS-MGW_1_0_Chicago.pl行6310处"关闭"。
如果我直接给出值,则没有观察到任何问题。
$Sheet->单元格(101,1)->EntireRow->插入;
有什么想法吗?
附言:我指的是插入行的这个线程。http://www.perlmonks.org/?node_id=882700
因为,Perl动态地推断变量的类型。变量$StartRow
和$StartCol
被视为字符串,因为您将它们的赋值括在引号中。删除引号,它们就会起作用,因为"Cells"方法需要整数作为参数。或者尝试
$StartRow = int ($StartRow);
$StartCol = int ($StartCol);
这应该行得通。我最近在做时遇到了这个问题
my ($i, $j) = split (/s*,s*/, $address);
print "n".$sheet->Cells($i, $j)->{Value};
在这里,从拆分操作返回的值被视为字符串。然后我把它们转换成整数,它就起作用了。