Hallo,
ich möchte ein Datum (der Form tt.mm.jjjj) aus einer Datei einlesen, perl konvertiert es mir aber sofort in eine fünfstellige Zahl. Kann ich das vermeiden, und wenn ja, wie?
Vielen Dank im Voraus,
scaph.
User since
2006-05-20
533
Artikel
BenutzerIn
Aus was fuer einer Datei, zeig mal deinen Code, wenn du das Datum einfach aus einer Datei als String einliest, aendert Perl das auch nicht.
Pörl.
Aaaalso,
die Datei ist eine häßliche Exceltabelle ;-) , und für den Code geb ich mal nen Ausschnitt mit. Ich hoffe, der reicht.
#==============================================================================
# Spreadsheet::ParseExcel::Cell
#==============================================================================
package Spreadsheet::ParseExcel::Cell;
require Exporter;
use strict;
use vars qw($VERSION @ISA);
@ISA = qw(Exporter);
sub new($%) {
my($sPkg, %rhKey)=@_;
my($sWk, $iLen);
my $oThis = \%rhKey;
bless $oThis, $sPkg;
}
sub Value($){
my($oThis)=@_;
return $oThis->{_Value};
}
Der interessante Abschnitt ist wohl unten, wo der Wert zurückgegeben wird. Nebenbei: der Code ist nicht von mir...
Danke schon mal!
User since
2003-08-04
14371
Artikel
ModeratorIn
Was bekommst Du denn wenn Du
$cell->{Val} statt
$cell->Value verwendest?
User since
2003-08-21
2614
Artikel
ModeratorIn
AFAIK wird bei Excel das Datum immer als Zahl gespeichert und nur zur Anzeige in einen String wie 2.2.1990 (je nach Regionaleinstellung) umgewandelt. Wenn man so etwas in eine als Datum formatierte Zelle eingibt, wird es automatisch in eine Zahl umgewandelt, aber nicht als diese Zahl angezeigt.
Hey, danke, der Tip von renee hat geholfen!