Fixer largeur de colonnes

Bonsoir,

Je crée un fichier Excel et lui affecte des largeurs de colonne adaptées à une présentation confortable.

J'enregistre ce fichier.

J'écris des données en PHP dans ce fichier en provenance d'une base de données, mais mes colonnes reviennent à la taille standard de création de fichier.

Comment faire pour bloquer le changement de largeur des colonnes.

En effet, c'est toujours désagréable pour un utilisateur d'être obligé de rectifier ses largeurs de colonne pour avoir un document lisible.

Y a-t-il une solution ?

Merci d'avance

Bonjour,

sans savoir comment tu procèdes pour l'importation ça va être difficile...

Si c'est par 'nouvelle requête web..' tu peux faire un clic-droit sur la plage de donnée et dans ses propriétés décocher 'ajuster largeur des colonnes'.

Si c'est par macro tu peux les redéfinir après.

eric

Voilà comment je remplis mon fichier en PHP :

$monfichier = fopen('listemembres.xls','r+');

$reponse = $bdd->query('SELECT * FROM identite');

WHILE ($donnees = $reponse->fetch())

{

$champ = $donnees['Prenom'].chr(9).$donnees['Nom'].chr(9).$donnees['Adresse'].chr(9).$donnees['CP'].chr(9).$donnees['Ville'].chr(9).

$donnees['Tel'].chr(9).$donnees['Portable'].chr(9).$donnees['Mail'].chr(13);

fputs($monfichier,$champ);

}

fclose($monfichier);

echo'Fichier enregistré';?><br>

<a href="http://listemembres.xls">Ouvrir le fichier</a>

A partir de ce moment, mon fichier est présent dans mon site.

Je rapatrie le fichier ensuite avec FTP et je l'ouvre avec Excel.

oupsss, ah ben là...

Tu peux intégrer des macros dans ton fichier ? Là je t'avoue que je l'ignore totalement.

Tu l'appelles .xls mais j'ai l'impression que ça te génère plutôt un fichier texte ou csv plutôt qu'un vrai fichier au format excel.

(Ca peut se confirmer en l'ouvrant avec notepad)

Sinon il va falloir prévoir un fichier xls pour ouvrir celui que tu as généré et qui fixe les largeurs de colonnes.

eric

Finalement, le problème est bien plus complexe que cela.

Je viens de faire l'expérience suivante : A partir d'un fichier préparé normalement avec Excel, je mets certaines cellules vides.

J'essaie d'écrire dans le fichier pour voir où mes infos se positionnent. (acex mon code ci-dessus déjà posté)

Effectivement, mes infos s'écrivent en début de fichier, donc la transmission et l'écriture marchent.

Le format d'origine reste bien comme je l'avais formaté.

Le fichier est bien un fichier EXCEL. (vérifié avec NotePad)

Donc, il suffit de savoir écrire au bon endroit mes infos.

Peux-tu si tu connais, me guider dans la recherche d'un tuto qui ferait cela ?

Merci

Bonjour,

Le fichier est bien un fichier EXCEL. (vérifié avec NotePad)

Je ne connais pas du tout le php mais permet moi d'avoir de très forts doutes.

Vu ce que tu envoies j'imagine plus un fichier texte avec séparateur TAB.

L'extension en .xls n'en fait pas un fichier excel même s'il sait les ouvrir.

Si c'est le cas jamais il ne contiendra d'information de largeur de colonne et autres formats de mise en page.

Par curiosité si tu pouvais en déposer un.

Donc, il suffit de savoir écrire au bon endroit mes infos.

Pas sûr d'avoir bien compris la question vu qu'elle s'éloigne de l'originale.

Après chaque champ tu dois écrire un séparateur, ici TAB (chr(9)).

Si tu as des champs vides il faut les combler avec des séparateurs, par exemple TAB TAB champs3 TAB champs4

eric

Si, mon fichier est bien un fichier EXCEL car je le crée avec EXCEL.

Lorsque je le lis, il contient bien tous les caractères spéciaux d'un fichier EXCEL.

Mais, entretemps, j'ai trouvé un tuto dont voici le lien si tu es intéressé.

J'explore celui-ci et ça a l'air de traiter de mon problème.

Merci de tes idées et conseils.

Re,

Si, mon fichier est bien un fichier EXCEL car je le crée avec EXCEL.

Ben non puisque tu le crées en PHP. Si tu l'ouvres sur excel et que tu le ré-enregistre en .xls, là oui il passera au format excel.

Mais, entretemps, j'ai trouvé un tuto dont voici le lien si tu es intéressé.

J'ai jeté un oeil et tu vois que c'est très loin d'être ce que tu fais.

Là oui tu créeras un vrai fichier au format excel avec ses caractéristiques, dont la largeur de colonne.

eric

Rechercher des sujets similaires à "fixer largeur colonnes"