Bonjour à tous,

Je réalise un fichier export de ma base de donnée mysql vers un fichier excel avec l'outi phpExcel.

Mon fichier est composé d'une page ou les données de ma BDD arrive et une deuxième onglet ou il a le résultat afficher dans une présentation avec des Mise en forme conditionnelle.
(J'ai un fichier modele ou j'importe les donnée dedans)

Dans mon fichier modele, j'ai bien la mise à jour conditionnelle ( si inférieur à 0,3 cela se colorie en rouge avec le format % pourcentage), mais le souci c'est qu'une fois le fichier généré par phpexcel la mise à jour conditionnel s'applique mais je perd je format % pourcentage dans cette mise à jour conditionnelle ( cela retourne en format standard).

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
 
 
connexion_mysql(); 
$path = '../php/Classes';
set_include_path(get_include_path() . PATH_SEPARATOR . $path);
function __autoload($classe)
{
//echo '<p>' . $classe . '</p>';
$fichier = str_replace('_',DIRECTORY_SEPARATOR, $classe ) . '.php' ;
//echo '<p>' . $fichier . '</p>';
require_once($fichier) ; # Chargement de la classe.
}
 
 
$objet = PHPExcel_IOFactory::createReader('Excel2007');
 
$excel = $objet->load('../modele/export-commande-2007.xlsx');
 
$sheet = $excel->getSheetByName('Data1');
$sql='SELECT m.nom as Marque,.......'
//echo $sql;
$requete=mysql_query($sql) or die ('Echec select tablea');
//$sheet->setCellValue('A50', 'MaitrePylos');
//$writer = PHPExcel_IOFactory::createWriter($excel);
$writer = PHPExcel_IOFactory::createWriter($excel, 'Excel2007');
//$writer = new \PHPExcel_Writer_Excel5($excel);
$writer ->setPreCalculateFormulas(false);
$col=0;
$lig=2;
while( $result = mysql_fetch_object( $requete ) )
{
      $sheet->setCellValueByColumnAndRow($col,$lig,$result->Marque);
 
      $col=$col+1;
      $sheet->setCellValueByColumnAndRow($col,$lig,$result->tt);
 
      $col=$col+1;
      $sheet->setCellValueByColumnAndRow($col,$lig,$result->cden);
      $col=$col+1;
      $sheet->setCellValueByColumnAndRow($col,$lig,$result->societe);
      $col=$col+1;
	        $sheet->setCellValueByColumnAndRow($col,$lig,$result->obj);
      $col=$col+1;
	        $sheet->setCellValueByColumnAndRow($col,$lig,$result->objcal);
      $col=$col+1;
	        $sheet->setCellValueByColumnAndRow($col,$lig,$result->pour);
      $col=$col+1;
	        $sheet->setCellValueByColumnAndRow($col,$lig,$result->diff);
      $col=$col+1;
	        $sheet->setCellValueByColumnAndRow($col,$lig,$result->cden1);
      $col=$col+1;
	        $sheet->setCellValueByColumnAndRow($col,$lig,$result->realn1);
      $col=$col+1;
	  	        $sheet->setCellValueByColumnAndRow($col,$lig,$result->entretien);
      $col=$col+1;
	  	        $sheet->setCellValueByColumnAndRow($col,$lig,$result->fi);
      $col=$col+1;
	  	        $sheet->setCellValueByColumnAndRow($col,$lig,$result->box);
      $col=$col+1;
	  	        $sheet->setCellValueByColumnAndRow($col,$lig,$result->cld);
      $col=$col+1;
	  	        $sheet->setCellValueByColumnAndRow($col,$lig,$result->T_entretien);
      $col=$col+1;
	  	  	        $sheet->setCellValueByColumnAndRow($col,$lig,$result->T_fi);
      $col=$col+1;
	  	  	        $sheet->setCellValueByColumnAndRow($col,$lig,$result->T_box);
      $col=$col+1;
	  	  	        $sheet->setCellValueByColumnAndRow($col,$lig,$result->T_cld);
      $col=$col+1;
	  	  	  	        $sheet->setCellValueByColumnAndRow($col,$lig,$result->cdenn);
      $col=$col+1;
	  	  	  	  	        $sheet->setCellValueByColumnAndRow($col,$lig,$result->vsn1);
      $col=$col+1;
	        $col=0;
      $lig=$lig+1;
	  }
//$writer->save('Exemple14.xlsx');
header('Content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition:inline;filename=Exemple14.xlsx ');
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");;
$writer->save('php://output');
Est-ce que j'ai oublié quelque chose dans mon code ? Ou est-ce normale que je perd le format (dans la mise en forme conditionnelle uniquement)?

Merci d'avance pour votre aide

guigui69