我有一个解析XLSX文档并以其他格式转换它的脚本。
在XLSX文件为红色的部分,我有退出条件:
do
{
...
...
...
}
until (uc(trim($worksheet -> get_cell($indexRow, 0) -> value())) eq "");
不幸的是,当我执行脚本时,我收到此错误:
无法调用方法"值"在myfilename.pl第94行的未定义值
有人可以给我一个提示或解释我做错了什么吗?
顺便说一下,我是Perl编程的初学者。答案 0 :(得分:4)
表达式
$worksheet -> get_cell($indexRow, 0)
未定义。因此,无法提取任何属性。
我的建议是以这种方式重新编码代码(但每个人都有自己的建议)(在第二个条件中考虑空格!):
while (1) # 1 is true
{
...
...
...
# suppose $indexrow has been calculated in the loop.
if ( ! $worksheet -> get_cell($indexRow, 0) ) {
# do something (cell is not defined)
# Cell is empty? (??????? 7 ?)
}
elsif ( ! trim( $worksheet->get_cell($indexRow,0)->value() ) ) {
last; #escape this loop
}
}
空字符串为false,因此!
等同于“字符串保存文本”。
希望它有所帮助。