Vous n'êtes pas identifié(e).
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
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