Bonjour à tous,

j'avance dans l'utilisation de PHPExcel, j'arrive a ecrire dans un fichier (même si le temps exécution est extrêmement long) ==>http://www.developpez.net/forums/d14...crire-fichier/


Je suis entrain de tester l'ecrire dans un fichier excel.

J'ai préparé mon fichier excel (export-commande.xls) de départ avec 3 onglet (résultat/data1/data2)

Dans l'onglet:
- résultat j'ai préparé mes formules (somme prod)
- data1 l'onglet on va arriver les données de ma base mysql (avec phpexcel) - data2 n'est pas utilisé actuellement.

Une fois le fichier généré (exemple14.xls) j'ai bien l'onglet data1 de remplit mais par contre dans l'onglet résultat tout les formules en sommesprod on disparue. (les formule d'addition simple elle sont toujours présente).


Voici mon code:
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
84
 
<?PHP
// Afficher les erreurs à l'écran
ini_set('display_errors', 1);
// Enregistrer les erreurs dans un fichier de log
ini_set('log_errors', 1);
// Nom du fichier qui enregistre les logs (attention aux droits à l'écriture)
ini_set('error_log', dirname(__file__) . '/log_error_php.txt');
// Afficher les erreurs et les avertissements
include("../php/fonction.bdd.php");
 
connexion_mysql(); 
$path = './';
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('Excel5');
$excel = $objet->load('export-commande.xls');
$sheet = $excel->getSheetByName('Data1');
$sql='SELECT ...... 
';
$requete=mysql_query($sql) or die ('Echec select tablea');
//$sheet->setCellValue('A50', 'MaitrePylos');
//$writer = PHPExcel_IOFactory::createWriter($excel);
$writer = new \PHPExcel_Writer_Excel5($excel);
 
$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->pour."%");
      $col=$col+1;
	        $sheet->setCellValueByColumnAndRow($col,$lig,$result->objcal);
      $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;
 
	        $col=0;
      $lig=$lig+1;
	  }
$writer->save('Exemple14.xls');
 
 
 
?>
Me manque-t-il un paramètre?

Merci d'avance pour votre aide

guigui69