writeexcel et acces bdd

Eléphanteau du PHP | 34 Messages

25 avr. 2006, 11:23

bonjour,

J'utilise les class writeexcel mais j'ai un petit soucis....

Quand je fais un acces a ma base de données, au lieu de m'afficher mon doc excel il me met une serie de caractère du genre :

Comic Sans MS ¤ $#,##0.00¥ d mmmm yyyàõÿ @À àõÿ @À àõÿ @À àõÿ @À àõÿ @À àõÿ @À àõÿ @À àõÿ @À àõÿ @À àõÿ @À àõÿ @À àõÿ @À àõÿ @À àõÿ @À àõÿ @À à @À à HÀ à&HÀ à HÀ ठDÀ ॠDÀ “€ÿ’â8ÿÿÿÿÿÿÿÿÿÿÿÿ€€€€€€€€€ÀÀÀ€€€™™ÿ™3fÿÿÌÌÿÿffÿ€€fÌÌÌÿ€ÿÿÿÿÿÿ€€€€€ÿÌÿÌÿÿÌÿÌÿÿ™™Ìÿÿ™ÌÌ™ÿÿÌ™3fÿ3ÌÌ™ÌÿÌÿ™ÿfff™–––3f3™f333™3™3f33™333… ÇDemo l ÉU


Avez vous une idée????
Merci

ViPHP
ViPHP | 3607 Messages

25 avr. 2006, 12:50

ça doit venir du fait que tu ne modifi pas le content-type à l'aide de header()
mais je ne connait pas du tout write excel alors je peu aps t'en dire plus

Mammouth du PHP | 1029 Messages

25 avr. 2006, 14:48

Bonjour,

comment passe tu tes données BDD->fichier Excel?
L'expérience est la somme de toutes nos erreurs.

Eléphanteau du PHP | 34 Messages

27 avr. 2006, 13:34

Bonjour,

Pour le moment, rien que le fait de faire appel a mon fichier de connexion à la bdd m'affiche tout ce bordel !
J'ai essayé de faire les appels à la bese dans un autre fichier et de faire un include la ou je veux mes données....mais que dalle !

Je pense que ca doit effectivement venir des entêtes et particulierement du content type....

Voila tout si vous avez des idées je suis preneur et si je trouve d'ici la je vous tiens au jus !

Merci

ViPHP
ViPHP | 3607 Messages

27 avr. 2006, 18:17

Ben en fait pour avoir des idées, il faudrait que nu communique un peu de code source, le fichier de connection par exemple et celui de génration de fichier excel... :wink:

Eléphanteau du PHP | 34 Messages

28 avr. 2006, 09:53

Mon fichier de connexion à la base:


function connect(){
$succes=false;
$host="127.0.0.1";
$login="root";
$passe="";
$maConnexion=@ mysql_connect($host,$login,$passe);
if ($maConnexion==false){
//echo("pb de connexion<BR>" . mysql_error());
}
else {
<A href="mailto:$select_base=@mysql_selectdb("my82257">$select_base=@mysql_selectdb("my82257");
}
return $maConnexion;
}



Et mon fichier qui genere le excel:


<?php

$num = $_GET['idCmdAdm'];
require_once "class.writeexcel_workbook.inc.php";
require_once "class.writeexcel_worksheet.inc.php";
require "../../../_functions/_connexion&deconnexion.php";
connect();
$fname = tempnam("/tmp", "demo.xls");
$workbook =& new writeexcel_workbook($fname);
$worksheet =& $workbook->addworksheet('Demo');
#######################################################################
#
# Write a general heading
#
$worksheet->set_column('A:B', 32);
$heading =& $workbook->addformat(array(
bold => 1,
color => 'blue',
size => 18,
merge => 1,
));
//$headings = array('Features of php_writeexcel', '');
//$worksheet->write_row('A1', $headings, $heading);
#######################################################################
#
# Some text examples
#
$text_format =& $workbook->addformat(array(
bold => 1,
italic => 1,
color => 'red',
size => 18,
font => 'Comic Sans MS'
));

$worksheet->write('A4', $num);
$worksheet->write('A15', "Votre commande N° $num du ");
$worksheet->insert_bitmap('A1', 'flyp.bmp', 16, 8);
$workbook->close();
header("Content-Type: application/x-msexcel");
header('Content-Disposition: attachment; filename="'.$num.'"');
$fh=fopen($fname, "rb");
fpassthru($fh);
unlink($fname);



Voila, j'ai viré les echo qui se trouve avant le header car ca pouvait venir de ca mais non en fait ca merde tjs !

Merci!

Eléphanteau du PHP | 34 Messages

28 avr. 2006, 10:31

Bonjour,

En mettant la connexion à la base dans le fichier qui génère le excel, c'est ok !
Pas trés clean mais ca ira!

Merci a tous !

Bye

Invité
Invité n'ayant pas de compte PHPfrance

29 août 2006, 16:37

essai de pas afficher les erreurs systeme avec ca :
error_reporting(E_ALL ^ E_NOTICE);

moi sa marche tres bien maintenant avec cettte ligne la.