Spreadsheet::ParseExcel a cestina

Honza Pazdziora adelton na fi.muni.cz
Úterý Listopad 7 10:33:15 MET 2006


On Fri, Nov 03, 2006 at 08:49:39AM +0100, Ondrej Koala Vacha wrote:
> 
> zkousel jsem pomoci $subj vypsat jeden xls soubor dle priklady v README. 
> Vypis je ok, ale cestina je uplne spatne, nektere znaky uplne chybi. Ma 
> nekdo nejakou lepsi zkusenost? Nebo co jineho doporucite na rozparsovani 
> xls souboru?

Vytvorte si Fmtutf8.pm s obsahem:

package Fmtutf8;
use Encode ();
use Spreadsheet::ParseExcel::FmtDefault ();
use base 'Spreadsheet::ParseExcel::FmtDefault';

sub new {
        return bless {}, shift;
}
sub TextFmt ($$;$) {
        my ($oThis, $sTxt, $sCode) = @_;
        if (not defined($sCode) or $sCode eq '_native_') {
                return $sTxt;
        } elsif ($sCode eq 'ucs2') {
                return Encode::decode("ucs2", $sTxt);
        } else {
                die "Unsupported sCode [$sCode]";
        }
}
1;
__END__

a pak udelejte

	Spreadsheet::ParseExcel::Workbook->Parse(
		"Priznani_k_dani_z_prijmu_FO_vzor12.xls", 
		new Fmtutf8);

tedy pridejte druhy parametr tomu Parse. Pak Vam ->Value na Cell
bude vracet korektni perlovy (unicodovy) znak.

-- 
------------------------------------------------------------------------
 Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
             .project: Perl, C, Red Hat Network, IPv6, VoIP
		Only self-confident people can be simple.


Další informace o konferenci Perl