|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre à l'essai
![]() |
Bonjour à tous,
Je rencontre une difficulté concernant l'utilisation de la classe PHPExcel. Je dois parser les données d'un fichier excel pour les rentrer dans une base de données, et ce fichier contient plusieurs feuilles. Hors sur l'une des feuilles, une des colonnes contient des cellules dont la formule référence une autre feuille. Quand j'utilise les méthodes de la classe pour afficher le contenu, par : getValue, j'obtiens la formule en elle-même. getCalculatedValue, utilisée normalement pour calculer le contenu des cellules avec une formule, j'obtiens une erreur. Je pense avoir assez bien commenté le code pour que cela soit correctement compréhensible, donc le voila : Code :
Si quelqu'un a une solution, cela m'arrangerait beaucoup Je vous remercie par avance pour les réponses que vous pourriez m'apporter, et vous souhaite une bonne soirée. |
||
|
|
10
|
|
|
#2 |
![]() ![]() Gérard ErnaelstenDBA & Dev PHP Inscription : juin 2005 Messages : 3 174 ![]() |
Salut,
Je n'ai pas mon ordi ici, mais le message te dit que la méthode n'existe pas, en soit cela veut dire que tu as un souci d'instanciation. Je dirai a première vue que le , fonctionne dans un writer et non un reader, peux-être qu'en instanciant les deux classes on pourrais y arriver (je sais c'est tordu, mais bon). A toi de voir.
__________________
Il faut toujours viser la lune, car même en cas d'échec on arrive dans les étoiles. O.Wilde Mes Articles/Critiques : Merise - Guide pratique PHPExcel PostgreSQL : Administration et exploitation d'une base de données PostgreSQL : Entraînez-vous à créer et programmer une base de données relationnelle |
|
|
10
|
|
|
#3 | ||||||
|
Membre à l'essai
![]() |
Bonjour,
Merci de votre réponse, mais hélas ce n'est pas ceci, voici pourquoi : Une autre formule me posait exactement le même problème lors d'un calcul : Code :
Ne trouvant pas de solution, je me suis penché sur la formule en elle-même, et j'ai remarqué qu'elle n'était pas 100% "aux normes" définies par Excel. Je l'ai alors modifié par celle-ci : Code :
Avec le getCalculatedValue(), j'obtiens bien la même valeur que dans mon fichier Excel, signe d'un bon calcul. Je suis en train de réfléchir à une éventuelle autre manière de faire mes formules Excel, mais cela prouve que le getCalculatedValue() est bien instancié, et fonctionne quand il peut ! Une des 2 autres formulaires qui me pose problème (Il y en avait 3, plus que 2) est : Code :
PS : J'ai beaucoup apprécié votre article sur PHPExcel, c'est grâce à lui que j'ai décidé de réaliser mon projet grâce à cette API, merci beaucoup |
||||||
|
|
00
|
|
|
#4 |
![]() ![]() Gérard ErnaelstenDBA & Dev PHP Inscription : juin 2005 Messages : 3 174 ![]() |
Effectivement il y a ps mal de souci avec les quotes et doublesQuotes, essaye ta formule en anglais pour voir si il y a une différence.
De plus, peux-tu créer un fichier Excel, reprenant ta problématique avec des informations farfelues, que l'on puisse tester. Merci.
__________________
Il faut toujours viser la lune, car même en cas d'échec on arrive dans les étoiles. O.Wilde Mes Articles/Critiques : Merise - Guide pratique PHPExcel PostgreSQL : Administration et exploitation d'une base de données PostgreSQL : Entraînez-vous à créer et programmer une base de données relationnelle |
|
|
00
|
|
|
#5 | ||||
|
Membre à l'essai
![]() |
bon, j'ai identifié le problème, il vient de mon fichier Excel !
En effet, PHPExcel gère très bien les VLOOKUP avec une référence dans une autre feuille. Pour le (et me le) prouver, j'ai créé ce bout de code : Code :
Toutes les formules fonctionnent même celle : Code :
Donc la faute à mon excel, maintenant il faut trouver d'où ça vient.... |
||||
|
|
00
|
|
|
#6 |
|
Membre à l'essai
![]() |
bon ben je passe le topic en résolu, car la classe PHPExcel n'y étais pour rien du tout, et mon code initial fonctionnait bien.
Tout venait de mes fichiers Excel qui étaient mal foutus, mais pour ma décharge, ce n'est pas moi qui les génère ![]() quand même d'y avoir porté attention |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com