perl 读取excel中的日期时间格式遇到的问题

上一篇 / 下一篇  2012-04-10 01:10:14 / 个人分类:perl相关

 

今天用perl读取excel表,其中excel表某一列是日期时间格式,读取的时候碰到些问题,比如某一列 2012-3-1 10:07:00  pm

出错的代码

#!/usr/bin/perl

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');
my $Book = $Excel->Workbooks->Open('E:\清单核对\清单核对\test\test.xls');
my $Sheet = $Book->Worksheets(1);
$info = $Sheet->Cells(2, 17)->{Value};
print $info;
$Book->Close;

这时候输出是

E:\清单核对\清单核对\test>perl 258.pl
Win32::OLE::Variant=SCALAR(0x1a11c60)

并没有得到想要的值

后来网上搜索,还需要增加一条代码use Win32::OLE::Variant;

修改后的代码

#!/usr/bin/perl

use Win32::OLE;
use Win32::OLE  qw( in with);
use Win32::OLE::Const 'Microsoft Excel';
use Win32::OLE::Variant;

$Win32::OLE::Warn = 3;

my $Excel = Win32::OLE->GetActiveObject('Excel.Application') || Win32::OLE->new('Excel.Application', 'Quit');
my $Book = $Excel->Workbooks->Open('E:\清单核对\清单核对\test\深圳市**用例校验-2012-02月份.xls');
my $Sheet = $Book->Worksheets(1);
$info = $Sheet->Cells(2, 17)->{Value};
print $info;
$Book->Close;

输出

E:\清单核对\清单核对\test>perl 258.pl
2012-2-13 上午 10:07:00

抽空还得看看perldoc Win32::OLE::Variant;,彻底搞清楚是怎么回事


TAG:

 

评分:0

我来说两句

Open Toolbar