Windows下perl打开文件不能用相对路径吗?怎么提示无法找到文件

Windows下perl打开文件不能用相对路径吗?怎么提示无法找到文件

my $Book = $Excel->Workbooks->Open("test.xls");

运行提示无法找到“test.xls”。请检查文件名的拼写,并检查文件位置是否正确。
相对路径在哪?
如果你的.pl文件和.xls文件在一个文件夹下应该没问题的


QUOTE:
原帖由 alexru 于 2007-12-21 09:14 发表
如果你的.pl文件和.xls文件在一个文件夹下应该没问题的

当前目录和程序文件所在目录经常会不相同。
好像不行,如果用open打开一个文件,可以用相对路径,my $Book = $Excel->Workbooks->Open
这个似乎使用的是excel的COM接口所以好像不支持相对路径
我用
use Cwd;
my $dir = getcwd;
my $fullpath = "$dir/xxx.xls";
来解决


QUOTE:
原帖由 hepower 于 2007-12-21 15:43 发表
好像不行,如果用open打开一个文件,可以用相对路径,my $Book = $Excel->Workbooks->Open
这个似乎使用的是excel的COM接口所以好像不支持相对路径
我用
use Cwd;
my $dir = getcwd;
my $fullpath = "$dir ...

明白了,谢谢!

再请教一个问题。
my $Sheet = $Book->Worksheets(2);  打开一个sheet后
怎么得到sheet中有多少行多少列数据??

我也不清楚怎么得到,但是我一般都是设一个比较大的数,比如500行(你的数据要小于500行)
然后判断每个格子是否为空来处理(如果是空直接下一次循环)
# get used columns

my $columns= $Sheet->UsedRange->Columns->{'Count'};


QUOTE:
原帖由 Nosferatu 于 2007-12-22 12:33 发表
# get used columns

my $columns= $Sheet->UsedRange->Columns->{'Count'};

  谢谢!

my $Sheet = $Book->Worksheets(2);
my $MaxRow = $Sheet->UsedRange->Rows->{'Count'};
my $MaxClum = $Sheet->UsedRange->Columns->{'Count'}