- 论坛徽章:
- 0
|
本帖最后由 Oo慢慢来oO 于 2011-09-29 17:46 编辑
需求:有一个excel单元格有1200个字符用perl读出来
问题:perl读excel单元格只能读1008个字符后面的读不出来
其他:在当前目录新建一个test.xls第一个单元格放一个超过1008的字符窜
代码如下:
- use strict;
- use Cwd;
- use Win32::OLE qw(in with);
- use Win32::OLE::Const 'Microsoft Excel';
- my $EXCEL = '';
- my $BOOK = '';
- my $SHEET = '';
- my $dir = getcwd;
- my $dir = $dir.'\\test.xls';
- sub initExcel()
- {
- $EXCEL = Win32::OLE->GetActiveObject('Excel.Application') || Win32::OLE->new('Excel.Application', 'Quit');
- $EXCEL->{DisplayAlerts} = 'False';
- $BOOK = $EXCEL->Workbooks->Open("$dir");
- $SHEET = $BOOK->Worksheets(1);
- }
- sub closeExcel
- {
- $BOOK->close();
- $EXCEL->quit();
- }
- sub main
- {
- initExcel();
- my $tmp = $SHEET->Cells(1,1)->{Text};
- print $tmp;
- closeExcel();
- }
- main();
复制代码
test.zip
(1.74 KB, 下载次数: 15)
修改后代码:- use strict;
- use Cwd;
- use Spreadsheet::ParseExcel;
- my $EXCEL = '';
- my $SHEET = '';
- my $dir = getcwd;
- my $dir = $dir.'\\test.xls';
- sub initExcel()
- {
- $EXCEL = Spreadsheet::ParseExcel::Workbook->Parse($dir);
- $SHEET = $EXCEL->{Worksheet}[0];
- }
- sub main
- {
- initExcel();
- my $cell = $SHEET->{Cells}[2][0]->{Val};
- print "$cell\n";
- }
- main();
复制代码 谢谢各位 |
|