Page 1 sur 1

spreadsheet transformer le résultat de la requette en fichier Excel

Posté : 28 nov. 2018, 12:35
par IrinaPl
Bonjour,

je suis désolé pour ma question, mais je n'arrive pas à trouver la solution. Je suis junior-junior dans tout ça et me suis perdu complètement!

Ma situation :

je travail sous linux, en zend expr avec twig, j'ai construit plusieurs requettes (chacune sur sa page à part) et j'affiche le résultat sur la page WEB (chaque résultat à part aussi). Maintenant je dois créer le bouton (avec le code derrière) qui propose à l'utilisateur de transformer le résultat de la requette en fichier Excel ( et le télécharger). J'ai instaleé spreadsheet...

J'ai trouvé ce code-là , mais je n'arrive plus avancer!!!
Aidez moi s'il vous plait! Comment je peux aboutir ce petit projet?!

Avec un grand espoir et énorme remerciement ,

Irina
<?php
$spreadsheet = new Spreadsheet(); //1

$reader = new \PhpOffice\PhpSpreadsheet\Reader\Csv();

/* Set CSV parsing options */

$reader->setDelimiter(',');

$reader->setEnclosure('"');

$reader->setSheetIndex(0);

/* Load a CSV file and save as a XLS */

$spreadsheet = $reader->load("countries.csv");

$writer = new Xlsx($spreadsheet);//ecrivain

$writer->save('countries.xls');

$spreadsheet->disconnectWorksheets();

unset($spreadsheet);

Re: spreadsheet transformer le résultat de la requette en fichier Excel

Posté : 01 déc. 2018, 10:11
par @rthur
Bonjour,

Ce code semble être fait pour transformer un fichier CSV en fichier Excel.
Tu as un fichier CSV ?

La lib PhpSpreadsheet a un reader HTML sinon.
Donc soit tu génères un fichier CSV pour pouvoir utiliser ce code ou sinon tu passes par le reader HTML

Dans tous les cas, il faut :
1) regarder dans le détail les exemples fournis avec PhpSpreadsheet, c'est une vraie mine d'or et quand on fait un développement avec, en général on commence toujours pas s'en inspirer pour les adapter à notre besoin
2) que tu fouilles dans la doc pour comprendre chaque fonction de cette librairie : https://phpspreadsheet.readthedocs.io/en/develop/