Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1490 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Php WriteExcel

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Php WriteExcel

n°1507240
le_marsoin
Posté le 25-01-2007 à 19:08:30  profilanswer
 

Bonjour,
 
J'utilise PHP writeExcel, script ki permet de générer des fichiers Excel via PHP (sans COM).
CF : http://www.bettina-attack.de/jonny [...] riteexcel/
Le problème est que la taille des cellules est limitée à 255 caractères.
La version Perl est + récente et elle permet l'insertion de + de 255 caracteres dans une cellule  
CF : http://homepage.eircom.net/~jmcnam [...] l97_7.html
 
Ki pourai retranscrire le code en PHP ? Ou bien me filer un coup de main ?
 
Merci pour votre aide.
Michel.

mood
Publicité
Posté le 25-01-2007 à 19:08:30  profilanswer
 

n°1507258
jagstang
Pa Capona ಠ_ಠ
Posté le 25-01-2007 à 20:41:43  profilanswer
 

le_marsoin a écrit :

Bonjour,
 
J'utilise PHP writeExcel, script ki permet de générer des fichiers Excel via PHP (sans COM).
CF : http://www.bettina-attack.de/jonny [...] riteexcel/
Le problème est que la taille des cellules est limitée à 255 caractères.
La version Perl est + récente et elle permet l'insertion de + de 255 caracteres dans une cellule  
CF : http://homepage.eircom.net/~jmcnam [...] l97_7.html
 
Ki pourai retranscrire le code en PHP ? Ou bien me filer un coup de main ?
 
Merci pour votre aide.
Michel.


et avec ça ?


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
n°1507316
leflos5
On est ou on est pas :)
Posté le 26-01-2007 à 01:34:47  profilanswer
 

jagstang a écrit :

et avec ça ?


Un demi pour moi garçon :o

n°1507378
le_marsoin
Posté le 26-01-2007 à 10:41:30  profilanswer
 

Ok je vois ke vous etes motivés alors voici le code en PERL, si kkun a une idée :
 
sub write_shared_string {
 
    my $self = shift;
 
    # Check for a cell reference in A1 notation and substitute row and column
    if ($_[0] =~ /^\D/) {
        @_ = $self->_substitute_cellref(@_);
    }
 
    if (@_ < 3) { return -1 }                    # Check the number of args
 
    my $record  = 0x00FD;                        # Record identifier
    my $length  = 0x000A;                        # Bytes to follow
 
    my $row     = $_[0];                         # Zero indexed row
    my $col     = $_[1];                         # Zero indexed column
    my $strlen  = length($_[2]);
    my $str     = $_[2];
    my $xf      = _XF($self, $row, $col, $_[3]); # The cell format
    my $encoding   = 0x00;
 
    my $str_error = 0;
 
    # Check that row and col are valid and store max and min values
    return -2 if $self->_check_dimensions($row, $col);
 
 
    if ($strlen > 32767) {
        $str       = substr($str, 0, 32767);
        $str_error = -3;
    }
 
    if (not exists ${$self->{_str_table}}->{$str}) {
        ${$self->{_str_table}}->{$str} = ${$self->{_str_unique}}++;
    }
 
 
    ${$self->{_str_total}}++;
 
 
    my $header = pack("vv",   $record, $length);
    my $data   = pack("vvvV", $row, $col, $xf, ${$self->{_str_table}}->{$str});
 
    $self->_append($header, $data);
 
    return $str_error;
}

n°1507379
le_marsoin
Posté le 26-01-2007 à 10:42:22  profilanswer
 

et voici ma transcription : Est ce que c'est bon ?
 
function write_shared_string() {
 
    $_=func_get_args();
 
    # Check for a cell reference in A1 notation and substitute row and column
    if (preg_match('/^\D/', $_[0])) {
        $_ = $this->_substitute_cellref($_);
    }
 
    if (sizeof($_) < 3) {      # Check the number of args
        return -1;
    }                  
 
    $record  = 0x00FD;                        # Record identifier
    $length  = 0x000A;                        # Bytes to follow
 
    $row     = $_[0];                         # Zero indexed row
    $col     = $_[1];                         # Zero indexed column
    $strlen  = strlen($_[2]);
    $str     = $_[2];
    $xf      = $this->_XF($row, $col, $_[3]); # The cell format
    $encoding   = 0x00;
 
    $str_error = 0;
 
    # Check that row and col are valid and store max and min values
    if ($this->_check_dimensions($row, $col)==false)
 return -2;
 
 $str = pack('vC', $strlen, $encoding).$str;
 
    if ($strlen > 32767) {
        $str       = substr($str, 0, 32767);
        $str_error = -3;
    }
 
    if (!isset ($this->_str_table[$str])) {
        $this->_str_table[$str] = $this->_str_unique++;
    }
 
 
    $this->_str_total++;
 
 
    $header = pack("vv",   $record, $length);
    $data   = pack("vvvV", $row, $col, $xf, $this->_str_table[$str]);
 
    $this->_append($header . $data);
 
    return $str_error;
}


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Php WriteExcel

 

Sujets relatifs
[ PHP ] pb de reconnaissance de fonctions. Help!!![PHP] Probleme de content type avec IE (mais aussi de session)
PHP et les fichiers texteTraitement des fichiers TXT avec PHP
Php et excel[PHP & XMLReader] Ne passe pas dans les noeuds Attributs [Resolu]
recherche codeur PHP pour jeu de rôle en ligne gratuit.Techniques de Dev PHP ?
administration serveur en php (apache en root ?) 
Plus de sujets relatifs à : Php WriteExcel


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR