Bonjour
je génère des fichiers Excel avec PHP en utilisant COM.
Installation SERVEUR : serveur W2000, EasyPHP1.7, Excel2003
Pour le moment, tout va à peu près bien :
je crée des fichiers, je génère des graphiques,
j'arrive à contrôler l'apparence des cellules ,
et les emplacement...
Pour trouver les bonnes propriété, je passe
par des macros Excel.... Or j'ai de gros soucis avec
certaines :
- La fusion de cellules (mais bon je peux m'en passer pour le moment)
- MAIS SURTOUT La gestion de la mise en page (Problématique).
En effet, après avoir généré mes fichiers, je les affiche...
Or ce sont généralement des classeurs à plusieurs feuilles, feuilles
qui s'impriment sur plusieurs pages (on sait pas combien à l'avance),
et quand on veut imprimer, ça sort tout le classeur.
On ne peut pas préciser un n° de page à imprimer car
on n'a pas l'apperçu avant impression.
Donc pour résoudre le problème, il faudrait ajuster une feuille sur 1 page
(propriété de mise en page dans EXCEL)
With ActiveSheet.PageSetup
[... etc ...]
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
dans php ($feuille : est une feuille selectionnée et activée de mon classeur)
$ps = $feuille->PageSetup;
$ps->Zoom = False;
$ps->FitToPagesWide = 1;
$ps->FitToPagesTall = 1;
qui me donne à l'exécution :
Warning: main(): PropPut() failed: Une exception s'est produite.
Source: Microsoft Office Excel Description: Impossible de définir
la propriété Zoom de la classe PageSetup. in
d:\easyphp\www\presentation\avant_exploit\excel_test\test_excel.php on line 99
(idem pour les autres propriété).
Or sur un autre serveur (WinXP, EasyPHP1.7, Excel2000) ce code marche
(d'ailleurs c'ets un exemple qu'on trouve souvent sur internet)
DONC QUESTION : EST-CE QU'iL y a un problème de versions avec Excel/COM????
Fo t'il installer quelquechose en particulier?
(à noter, yavait un morceau de code qui marchait sur le premier serveur, puis
plus du tout sur le second....).
J'ai entendu parler (pour le cas d'ASP) qu'il y avait une histoire
de version de PIA .... hors j'y connais pas grand chose .... ???
Donc ... voilà .....
Si quelqu'un aurait un peu de temps ....
Merci d'avance