Hi to all,
I want to convert xml file to binary Excel file, after googling for a while, I found cpan tool "Spreadsheet::WriteExcel::FromXML". I installed both,
Spreadsheet::WriteExcel and Spreadsheet::WriteExcel::FromXML.
To test Spreadsheet::WriteExcel I executed a example script that comes within it, "a_simple.pl" and works.
But the codes below intended to use convert xml to xls don't work for me.
I've been trying to follow 2 examples of xml to xls:
This code below
Ref: Excel::Template - Excel::Template - metacpan.org
#!/usr/bin/perl -w
use strict;
use Excel::Template;
# Create the Excel template
my $template = Excel::Template->new(
filename => 'test.xml',
);
# Add a few parameters
$template->param(
HOME => $ENV{HOME},
PATH => $ENV{PATH},
);
$template->write_file('test.xls');
and the options from the code below:
Ref: Spreadsheet::WriteExcel::FromXML - Create Excel Spreadsheet from XML - metacpan.org
use strict;
use warnings;
use Spreadsheet::WriteExcel::FromXML;
my $fromxml = Spreadsheet::WriteExcel::FromXML->new( "file.xml" );
$fromxml->parse;
$fromxml->buildSpreadsheet;
$fromxml->writeFile("file.xls");
# or
my $data = $fromxml->getSpreadsheetData;
# then write $data to a file...or do with it as you wish
# or, even simpler:
my $data = Spreadsheet::WriteExcel::FromXML->BuildSpreadsheet( "file.xml" );
# or, even simpler:
Spreadsheet::WriteExcel::FromXML->XMLToXLS( "file.xml", "file.xls" );
Follow the 1rst example, the test.xml is as simple as:
<workbook>
<worksheet name="tester">
<cell text="$HOME" />
<cell text="$PATH" />
</worksheet>
</workbook>
and I get the following errors when I run the 2nd code:
./xml_to_xls.pl # I only trying the lines in red in code above
Must define a title attribute for worksheet!
at /usr/local/share/perl/5.10.1/Spreadsheet/WriteExcel/FromXML.pm line 248
Spreadsheet::WriteExcel::FromXML::_processTree('Spreadsheet::WriteExcel::FromXML=HASH(0x9f2a818)',
'ARRAY(0xa4b5340)', 'worksheet', 'SCALAR(0xa4a08d0)', 'SCALAR(0xa4a08f0)', undef, undef) called at /usr/local/share/perl/5.10.1/
Spreadsheet/WriteExcel/FromXML.pm line 328
Spreadsheet::WriteExcel::FromXML::_processTree('Spreadsheet::WriteExcel::FromXML=HASH(0x9f2a818)', 'ARRAY(0xa4b5270)',
'workbook', 'SCALAR(0xa4a08d0)', 'SCALAR(0xa4a08f0)') called at /usr/local/share/perl/5.10.1/Spreadsheet/WriteExcel/FromXML.pm line 186
Spreadsheet::WriteExcel::FromXML::parse('Spreadsheet::WriteExcel::FromXML=HASH(0x9f2a818)') called at ./xml_to_xls.pl line 7
May somebody please help me saying me how to test/use correctly the module Spreadsheet::WriteExcel::FromXML or
Spreadsheet::WriteExcel in order to convert XML files to Excel XLS files?
Thanks in advance
---------- Post updated at 03:51 PM ---------- Previous update was at 05:32 AM ----------
May somebody help me with this
Thanks in advance.