PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 28-11-2018 12:24:59

IrinaPl
Membre
Inscription : 28-11-2018
Messages : 1

spreadsheet transformer une requette en excel

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
<code>

$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);
</code>

Hors ligne

#2 04-12-2019 14:31:38

andreas
Membre
Inscription : 04-12-2019
Messages : 3

Re : spreadsheet transformer une requette en excel

Bonjour,

On peut imaginer faire un export en xls depuis un table php (dans laquelle serait le résultat des requêtes) mais en javascript:

le lien:
<a href=# onclick="exportTableToExcel(\'tblData\', \''.date("Ymd").'MonNom\')" return false;>Cliquez ici</a>

la table:
<table id="tblData">...</table>

la fonction  javascript:
function exportTableToExcel(tableID, filename = ''){
    var downloadLink;
    var dataType = 'application/vnd.ms-excel; charset=UTF-8';
    var tableSelect = document.getElementById(tableID);
    var tableHTML = tableSelect.outerHTML.replace(/ /g, '%20');
   
    // Specify file name
    filename = filename?filename+'.xls':'excel_data.xls';
   
    // Create download link element
    downloadLink = document.createElement("a");
   
    document.body.appendChild(downloadLink);
   
    if(navigator.msSaveOrOpenBlob){
        var blob = new Blob(['\ufeff', tableHTML], {
            type: dataType
        });
        navigator.msSaveOrOpenBlob( blob, filename);
    }else{
        // Create a link to the file
        downloadLink.href = 'data:' + dataType + ', ' + tableHTML;
   
        // Setting the file name
        downloadLink.download = filename;
       
        //triggering the function
        downloadLink.click();
    }
}

Hors ligne

Pied de page des forums