écrire dans un excel depuis des variables PHP
Résolu
CorentinRoche
Messages postés
271
Date d'inscription
Statut
Membre
Dernière intervention
-
CorentinRoche Messages postés 271 Date d'inscription Statut Membre Dernière intervention -
CorentinRoche Messages postés 271 Date d'inscription Statut Membre Dernière intervention -
Bonjour/Bonsoir,
Je suis en train de développer une application web qui me permet de préremplir des factures sous Excel.
J'ai vraiment du mal à comprendre comment on inscrit une donnée (une variable en PHP) dans une certaine case d'un excel déjà crée !
J'ai du lire et tester 150 fois ce forum qui en parle :
https://g-ernaelsten.developpez.com/tutoriels/excel2007/?page=modifier-l-existant
Sans résultat positif !
Le but étant de remplir les entête de mes factures nom prénom tel... Via un site WEB
Actuellement tout est enregistrer dans une base de données, mais le soucis n'est pas la.
Je ne voie pas comment faire pour par exemple :
-Partir d'un style de tableau excel. (Stocker sur le serveur web)
-Modifier la case A15 pour y écrire "Client X"
-Puis lancer un téléchargement automatique de l'excel modifier
(Sans la partie récupération des infos de la base de données) Juste quelque chose du genre:
J'ouvre la page web ça écrie "Client X" dans la case A12 puis ça le télécharge dans le navigateur
J'adapterais le code en fonction bien sur :! Pour intégrer la récupération des données depuis la BDD
Merci d'avance
Je suis en train de développer une application web qui me permet de préremplir des factures sous Excel.
J'ai vraiment du mal à comprendre comment on inscrit une donnée (une variable en PHP) dans une certaine case d'un excel déjà crée !
J'ai du lire et tester 150 fois ce forum qui en parle :
https://g-ernaelsten.developpez.com/tutoriels/excel2007/?page=modifier-l-existant
Sans résultat positif !
Le but étant de remplir les entête de mes factures nom prénom tel... Via un site WEB
Actuellement tout est enregistrer dans une base de données, mais le soucis n'est pas la.
Je ne voie pas comment faire pour par exemple :
-Partir d'un style de tableau excel. (Stocker sur le serveur web)
-Modifier la case A15 pour y écrire "Client X"
-Puis lancer un téléchargement automatique de l'excel modifier
(Sans la partie récupération des infos de la base de données) Juste quelque chose du genre:
J'ouvre la page web ça écrie "Client X" dans la case A12 puis ça le télécharge dans le navigateur
J'adapterais le code en fonction bien sur :! Pour intégrer la récupération des données depuis la BDD
Merci d'avance
A voir également:
- écrire dans un excel depuis des variables PHP
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Trier un tableau excel - Guide
- Écrire plusieurs lignes dans une cellule excel mac - Guide
- Ecrire en gras sur whatsapp - Guide
4 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, pour commencer, laissons de coté le téléchargement automatique.
qu'as-tu essayé?
qu'as-tu essayé?
Bonjour,
Voici le test que j'ai fait, enfin un des nombreux tests :
Merci de votre retour
Voici le test que j'ai fait, enfin un des nombreux tests :
<?php $objet = PHPExcel_IOFactory::createReader('Excel5'); $excel = $objet->load('facture.xls'); $sheet = $excel->getSheet(0); $sheet->setCellValue('A12', 'Corentin'); $writer = PHPExcel_IOFactory::createWriter($excel); $writer->save('facture-modifier.xls'); ?>
Merci de votre retour
Bonjour,
Pour commencer, PhpExcel n'est plus maintenu. Il faut le remplacer par PHPSpreadSheet
Par contre, il te faut un php 7.2 minimum, et composer pour faire l'installation.
Je te laisse le lien vers la documentation :
https://phpspreadsheet.readthedocs.io/en/latest/
Et oui, il faudra installer sur ton serveur... sinon ton code php ne fonctionnera pas.
Pour commencer, PhpExcel n'est plus maintenu. Il faut le remplacer par PHPSpreadSheet
The project has not be maintained for years and must not be used anymore. All users must migrate to its direct successor PhpSpreadsheet, or another alternative.
Par contre, il te faut un php 7.2 minimum, et composer pour faire l'installation.
Je te laisse le lien vers la documentation :
https://phpspreadsheet.readthedocs.io/en/latest/
Et oui, il faudra installer sur ton serveur... sinon ton code php ne fonctionnera pas.
Bon, je galère un peu a l’installation de composer.. et de phpspreadsheet..
J'ai bien fait les 4 commande pour l'installaton de composer :
Mais après je ne peux pas exécuter la commande :
Voir le screen si dessous

Idem sur le code présenter par le site PhpSpreadsheet il utilise un require vendor/autoload.php ou puis-je recuperer ce fichier .php ?
Merci encore
J'ai bien fait les 4 commande pour l'installaton de composer :
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php -r "if (hash_file('sha384', 'composer-setup.php') === 'e5325b19b381bfd88ce90a5ddb7823406b2a38cff6bb704b0acc289a09c8128d4a8ce2bbafcd1fcbdc38666422fe2806') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" php composer-setup.php php -r "unlink('composer-setup.php');"
Mais après je ne peux pas exécuter la commande :
composer require phpoffice/phpspreadsheet
Voir le screen si dessous
Idem sur le code présenter par le site PhpSpreadsheet il utilise un require vendor/autoload.php ou puis-je recuperer ce fichier .php ?
Merci encore
Bon finalement apres 2H de galérer j'ai réussis a installer PhpSpreadsheet's par contre je n'arrive pas a le faire fonctionner même avec le code dispo sur le site de PhpSpreadsheet's
test.php :
J'ai essayer de commenter chaque ligne c'est la dernière qui pose soucis :

test.php :
<?php require 'vendor/autoload.php'; use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Writer\Xlsx; $spreadsheet = new Spreadsheet(); $sheet = $spreadsheet->getActiveSheet(); $sheet->setCellValue('A1', 'Hello World !'); $writer = new Xlsx($spreadsheet); $writer->save('hello world.xlsx'); ?>
J'ai essayer de commenter chaque ligne c'est la dernière qui pose soucis :
$writer->save('hello world.xlsx');
Bon je clos ce sujet dans le sens ou le soucis a été résolut je sais maintenant qu'il faut utiliser PhpSpreadsheet's et non PHPExcel.
Je vais faire encore des essaie dans le cas ou je n'arrive pas a faire fonctionner PhpSpreadsheet's je rouvrirais un second poste.
Pour l'installation de composer je vous conseil ce lien :
https://www.hostinger.fr/tutoriels/comment-installer-et-utiliser-composer/
Les info dispo sur le site officel de composer sont pas forcement bien expliquer
Je vais faire encore des essaie dans le cas ou je n'arrive pas a faire fonctionner PhpSpreadsheet's je rouvrirais un second poste.
Pour l'installation de composer je vous conseil ce lien :
https://www.hostinger.fr/tutoriels/comment-installer-et-utiliser-composer/
Les info dispo sur le site officel de composer sont pas forcement bien expliquer