#!/usr/local/bin/perl use strict; use warnings; use Spreadsheet::WriteExcel::FromXML; my $fromxml = Spreadsheet::WriteExcel::FromXML->new("price.xml"); $fromxml->parse; $fromxml->buildSpreadsheet; $fromxml->writeFile("price.xls");
Запускаю, сыпятся ошибки вроде этой (консоль не юникодовая, поэтому русские сивмолы не выводятся нормально):
Цитата
Spreadsheet::WriteExcel::FromXML::_processTree('Spreadsheet::WriteExcel::FromXML=HASH(0x800f0d210)', 'ARRAY(0x8017fa6c0)', 'піп╣пҐп╟1', 'SCALAR(0x801f3f250)', 'SCALAR(0x801f3f270)', undef, undef) called at /usr/local/lib/perl5/site_perl/5.8.9/Spreadsheet/WriteExcel/FromXML.pm line 328
Spreadsheet::WriteExcel::FromXML::_processTree('Spreadsheet::WriteExcel::FromXML=HASH(0x800f0d210)', 'ARRAY(0x8017fa3a0)', 'п╒п╬п╡п╟я─', 'SCALAR(0x801f3f250)', 'SCALAR(0x801f3f270)', undef, undef) called at /usr/local/lib/perl5/site_perl/5.8.9/Spreadsheet/WriteExcel/FromXML.pm line 328
Spreadsheet::WriteExcel::FromXML::_processTree('Spreadsheet::WriteExcel::FromXML=HASH(0x800f0d210)', 'ARRAY(0x8017f97c0)', 'п п╬п╪п©я▄я▌я┌п╣я─п÷п╩п╟пЇп╟', 'SCALAR(0x801f3f250)', 'SCALAR(0x801f3f270)') called at /usr/local/lib/perl5/site_perl/5.8.9/Spreadsheet/WriteExcel/FromXML.pm line 186
Spreadsheet::WriteExcel::FromXML::parse('Spreadsheet::WriteExcel::FromXML=HASH(0x800f0d210)') called at ./xmltest line 6
Unrecognized type 'піп╣пҐп╟2'. Ignored.
Собсно мне нужно выгружать только <Код>, <Наименование>, <Цена1>, <Цена2> и некоторую функцию от <Количество> (т.е. например кол-во < 3шт - 1 палочка, от 3 до 7шт - 2 палочки, от 7шт - 3 палочки.) Чтоб получилось примерно как щас - http://plaza-pskov.r...files/price.xls
Или проще из MySQL выборку сделать?
Сообщение отредактировал XmaN: 09.08.2010 - 11:22