Discussion:
Exporter un tableau de PHP vers Excel - problem e avec CSS
(trop ancien pour répondre)
max
2007-04-23 05:25:43 UTC
Permalink
Bonjour à tous,

J'essaie d'exporter un tableau HTML (généré par un script PHP) dans un
fichier Excel. Tout fonctionne très bien avec les quelques lignes qui
suivent:

header("Content-type: application/vnd.ms-excel");
header("Content-disposition: attachment; filename=Fichier.xls");
header("Pragma: no-cache");
header("Expires: 0");
print "$header\n$data";

Le problème provient du CSS. Quand Excel s'ouvre sur le fichier généré,
il dit qu'un fichier est manquant (le fichier CSS). Du coup, pas de
formattage sur les font, les couleurs de cellules, les largeurs de
colonnes, etc. Ce qui rend le fichier vraiment moins bien. Aussi, une
des cellules du tableau HTML généré contient une image qui n'est plus là
dans Excel.

Je sais qu'il existe des modules (PEAR) spécialisés pour créer des
fichiers au format Excel à partir de PHP. Par contre, mon besoin est
simple et partiellement rempli grâce à la solution "facile" du
changement de header.

J'ai pensé à inclure les styles dont j'ai besoin dans mon tableau
directement dans la page PHP au lieu du fichier css lu au début. Est-ce
la solution?

Merci pour votre aide,

A. Jean
Jean-Francois Ortolo
2007-04-23 10:30:05 UTC
Permalink
Bonjour Monsieur
Si vous n'avez pas besoin spécifiquement des fonctionnalités du
format *.xls

Mon site ( voir signature ), donne accès aux tableaux des données
statistiques, sous forme d'un fichier Excel *.csv (ou *.cvs je sais plus
), qui est parfaitement lisible dans Excel, sans problème.

Vous connaissez ce format: Les enregistrements sont séparés par des
points-virgules ( ; ), et les lignes par des line-feed ( \n ).

Pas de souci avec mon site.

Excusez-moi de faire de la pub... ;)

Bien à vous.

Amicalement.

Jean-François Ortolo
--
Visitez mon site gratuit donnant des Statistiques
et des Historiques Graphiques sur les Courses de Chevaux:
http://www.ortolojf-courses.com
P'tit Marcel
2007-04-23 22:25:03 UTC
Permalink
Post by max
J'essaie d'exporter un tableau HTML (généré par un script PHP) dans un
fichier Excel.
Le problème provient du CSS. Quand Excel s'ouvre sur le fichier généré,
il dit qu'un fichier est manquant (le fichier CSS). Du coup, pas de
formattage sur les font, les couleurs de cellules, les largeurs de
colonnes, etc. Ce qui rend le fichier vraiment moins bien. Aussi, une
des cellules du tableau HTML généré contient une image qui n'est plus là
dans Excel.
J'ai pensé à inclure les styles dont j'ai besoin dans mon tableau
directement dans la page PHP au lieu du fichier css lu au début. Est-ce
la solution?
Essaye d'insérer les styles CSS dans le header HTML comme pour une page
sans CSS joint :

$css = "<style type=\"text/css\">\n" .
file_get_contents($lefichierCSS) . "</style>\n";
$fin = strrpos($header, "</HEAD>");
if ($fin === false) {
$fin = strlen($header);
}
$header = str_replace($header, $css, $fin, 0);


Comme ça, tu n'auras pas à réécrire le code html/php de ton tableau...

eça
--
P'tit Marcel
pourquoi personne y répond à ma question :'(
<news:***@d57g2000hsg.googlegroups.com>
Continuer la lecture sur narkive:
Loading...