J
Justin C
I get the following error when running my script:
Can't locate object method "get_xf_index" via package
"Spreadsheet:
arseExcel::Format" at
/usr/local/share/perl/5.8.8/Spreadsheet/WriteExcel/Worksheet.pm line
1453
It looks odd to me. It's saying it can't locate an object method from
one module in the second module. The two modules are un-related (apart
from the fact that they both deal with Excel files), neither is
dependant on the other.
This is probably due to the way I'm using ...::WriteExcel, and stems
from my not understanding the documentation for ...:
arseExcel. It
looks like it's written very much for OO coding, I'm not that advanced
and have been, probably, banging my head against it too hard.
Here is some code:
#!/usr/bin/perl
use warnings;
use strict;
use Spreadsheet:
arseExcel;
use Spreadsheet::WriteExcel;
my $inFile = "some.xls";
my $outFile = "output.xls";
my $lastCol = 9; # We don't want the data beyond this point
my $firstRow = 4;# counting from 0, 0-3 are the front page for printing
my $lastRow;
my $inBook = Spreadsheet:
arseExcel::Workbook->Parse($inFile);
my $outBook = Spreadsheet::WriteExcel->new($outFile);
my $outSheet = $outBook->add_worksheet();
foreach my $inSheet(@{$inBook->{Worksheet}}) { # there's only one
$lastRow = $inSheet->{MaxRow};
foreach my $row ( $firstRow .. $lastRow) {
foreach my $col ( 0 .. $lastCol) {
# get contents of cell
my $cellcontent = $inSheet->{Cells}[$row][$col]->{_Value};
my $cellFormat = $inSheet->{Cells}[$row][$col]->{Format};
# write contents of cell to new worksheet
$outSheet->write_string($row-3, $col-5, $cell, $cellFormat);
}
}
}
*** END ***
$cellFormat contains a hash reference, AFAICT. I was hoping that that
would be accepted by the ...::WriteExcel and generate what I want.
Can anyone spot anything obviously wrong with the above that may help
me? Are there any Spreadsheet::[Parse|Write]Excel experts here who have
suggestions?
I thank you for your help with this.
Justin.
Can't locate object method "get_xf_index" via package
"Spreadsheet:
/usr/local/share/perl/5.8.8/Spreadsheet/WriteExcel/Worksheet.pm line
1453
It looks odd to me. It's saying it can't locate an object method from
one module in the second module. The two modules are un-related (apart
from the fact that they both deal with Excel files), neither is
dependant on the other.
This is probably due to the way I'm using ...::WriteExcel, and stems
from my not understanding the documentation for ...:
looks like it's written very much for OO coding, I'm not that advanced
and have been, probably, banging my head against it too hard.
Here is some code:
#!/usr/bin/perl
use warnings;
use strict;
use Spreadsheet:
use Spreadsheet::WriteExcel;
my $inFile = "some.xls";
my $outFile = "output.xls";
my $lastCol = 9; # We don't want the data beyond this point
my $firstRow = 4;# counting from 0, 0-3 are the front page for printing
my $lastRow;
my $inBook = Spreadsheet:
my $outBook = Spreadsheet::WriteExcel->new($outFile);
my $outSheet = $outBook->add_worksheet();
foreach my $inSheet(@{$inBook->{Worksheet}}) { # there's only one
$lastRow = $inSheet->{MaxRow};
foreach my $row ( $firstRow .. $lastRow) {
foreach my $col ( 0 .. $lastCol) {
# get contents of cell
my $cellcontent = $inSheet->{Cells}[$row][$col]->{_Value};
my $cellFormat = $inSheet->{Cells}[$row][$col]->{Format};
# write contents of cell to new worksheet
$outSheet->write_string($row-3, $col-5, $cell, $cellFormat);
}
}
}
*** END ***
$cellFormat contains a hash reference, AFAICT. I was hoping that that
would be accepted by the ...::WriteExcel and generate what I want.
Can anyone spot anything obviously wrong with the above that may help
me? Are there any Spreadsheet::[Parse|Write]Excel experts here who have
suggestions?
I thank you for your help with this.
Justin.