Schrift
[thread]6499[/thread]

Warnung bei Spreadsheet::ParseExcel: was tun?



<< >> 7 Einträge, 1 Seite
macMeck
 2004-08-14 14:37
#49295 #49295
User since
2003-08-04
162 Artikel
BenutzerIn
[default_avatar]
Hi zusammen,

ich habe mir hier was mit Spreadsheet::ParseExcel zusammengeschustert und bekomme beim Auslesen der Excel-Tabelle jetzt immer die Warnung:
Code: (dl )
Character in 'C' format wrapped in pack at D:/Develop/Perl/site/lib/Spreadsheet/ParseExcel/FmtDefault.pm line 68.

Man findet diese Warnung bei Google zwar oft, aber nie ne richtige Lösung, was man dagegen machen kann. Das hängt offensichtlich mit dem Format der Excel-Zellen zusammen.
Hat das hier jemand schon mal gelöst oder hat ne Idee dazu?

macMeck
It all works, as long as it's documented!
esskar
 2004-08-14 14:47
#49296 #49296
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
Code: (dl )
1
2
3
4
5
sub TextFmt($$;$) {
my($oThis, $sTxt, $sCode) =@_;
return $sTxt if((! defined($sCode)) || ($sCode eq '_native_'));
return pack('C*', unpack('n*', $sTxt));
}


ist dann diese Zeile

Code: (dl )
return pack('C*', unpack('n*', $sTxt));


man müsste sich überlegen, was man pack('C*' übergeben muss, damit es diese warning wirft!
macMeck
 2004-08-15 21:59
#49297 #49297
User since
2003-08-04
162 Artikel
BenutzerIn
[default_avatar]
wie? sorry, hab ich nicht verstanden...
It all works, as long as it's documented!
ptk
 2004-08-16 13:10
#49298 #49298
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Keine Warnung:
Code: (dl )
perl -we '$x = $x = pack("C", 255)'

Mit Warnung:
Code: (dl )
1
2
perl -we '$x = $x = pack("C", 256)'
Character in "C" format wrapped at -e line 1.

Koennte vielleicht etwas mit Unicode-Zeichen zu tun haben. Vielleicht kann man es abstellen, indem man pack("U", ...) stattdessen verwendet? Aber komischerweise sehe ich immer nur die Warnung, die von Spreadsheet::ParseExcel gelieferten Daten sehen gut aus.
macMeck
 2004-08-16 17:46
#49299 #49299
User since
2003-08-04
162 Artikel
BenutzerIn
[default_avatar]
Ja, das ist richtig. Die Daten sind in Ordnung. Wenn ich das Dingens aber in ner Web-Applikation laufen lasse habe ich auf meinem Server bald nur noch Apache-Logfiles... :( Sollte also abgestellt werden.

Das mit dem 'U' werde ich mal versuchen.

macMeck
It all works, as long as it's documented!
ptk
 2004-08-16 19:00
#49300 #49300
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Vielleicht hilft es, wenn du das Spreadsheet-Modul patchst, beispielsweise per
Code: (dl )
    no warnings 'pack';


Ansonsten: Mail an den Autor von Spreadsheet::ParseExcel, vielleicht kann er helfen, bzw. einen Bugreport auf rt.cpan.org machen.
macMeck
 2004-08-16 19:12
#49301 #49301
User since
2003-08-04
162 Artikel
BenutzerIn
[default_avatar]
Okay, ich habs. Das mit dem 'U' tut. Muss man halt das Modul ändern.

Die etwas elegantere Variante ist allerdings, direkt den Formatter mit Spreadsheet::ParseExcel::FmtUnicode zu benutzen. Und das tut dann auch.

Danke...

macMeck
It all works, as long as it's documented!
<< >> 7 Einträge, 1 Seite



View all threads created 2004-08-14 14:37.