我要在linux下使用perl来处理excel文件 15
我要在linux下使用perl来处理excel文件,使用Spreadsheet::WriteExcel,但是只有Spreadsheet::WriteExcel->new创...
我要在linux下使用perl来处理excel文件,使用Spreadsheet::WriteExcel,但是只有Spreadsheet::WriteExcel->new创建一个新表格,而我要处理已有的文件,文档上没有看到open的操作,到底应该怎么做呢?
展开
2个回答
展开全部
你可以参考这段script:
use Spreadsheet::ParseExcel;
use Encode;
my $oExcel = new Spreadsheet::ParseExcel;
my $oBook = $oExcel->Parse("$filename");
my($iR, $oWkS, $oWkC);
my ($nnn,$mmm);
print "FILE :", $oBook->{File} , "\n";
print "SHEETCOUNT :", $oBook->{SheetCount} , "\n";
for(my $iSheet=0; $iSheet < $oBook->{SheetCount} ; $iSheet++)
{
$oWkS = $oBook->{Worksheet}[$iSheet];
for(my $iR = $oWkS->{MinRow} ; defined $oWkS->{MaxRow} && $iR <= $oWkS->{MaxRow} ; $iR++)
{
$oWkC = $oWkS->{Cells}[$iR][0];
if($oWkC){
$nnn = $oWkC->Value;
$mmm = encode("euc-cn",$nnn);
$UserData{$mmm} = $SP{$mmm} if($SP{$mmm});
}
}
}
use Spreadsheet::ParseExcel;
use Encode;
my $oExcel = new Spreadsheet::ParseExcel;
my $oBook = $oExcel->Parse("$filename");
my($iR, $oWkS, $oWkC);
my ($nnn,$mmm);
print "FILE :", $oBook->{File} , "\n";
print "SHEETCOUNT :", $oBook->{SheetCount} , "\n";
for(my $iSheet=0; $iSheet < $oBook->{SheetCount} ; $iSheet++)
{
$oWkS = $oBook->{Worksheet}[$iSheet];
for(my $iR = $oWkS->{MinRow} ; defined $oWkS->{MaxRow} && $iR <= $oWkS->{MaxRow} ; $iR++)
{
$oWkC = $oWkS->{Cells}[$iR][0];
if($oWkC){
$nnn = $oWkC->Value;
$mmm = encode("euc-cn",$nnn);
$UserData{$mmm} = $SP{$mmm} if($SP{$mmm});
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询