Exporter une base de données dans excel
Ndediop
Messages postés
101
Date d'inscription
Statut
Membre
Dernière intervention
-
Ndediop Messages postés 101 Date d'inscription Statut Membre Dernière intervention -
Ndediop Messages postés 101 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je souhaiterais savoir comment on fait l'exportation d'une base de données sur unexcel à travers un code PHP et un code JS.
Merci d'avance!
Cordialement,
Je souhaiterais savoir comment on fait l'exportation d'une base de données sur unexcel à travers un code PHP et un code JS.
Merci d'avance!
Cordialement,
A voir également:
- Exporter une base de données dans excel
- Liste déroulante excel - Guide
- Déplacer une colonne excel - Guide
- Trier des données excel - Guide
- Exporter favoris chrome - Guide
- Word et excel gratuit - Guide
5 réponses
Bonjour
Sous quelle forme ?
Un vrai excel ou juste in csv ?
Pour le "vrai" excel... tu peux utiliser la class php phpexcel.
Pour le csv... fputcsv
Sous quelle forme ?
Un vrai excel ou juste in csv ?
Pour le "vrai" excel... tu peux utiliser la class php phpexcel.
Pour le csv... fputcsv
oui le fichier à exporter doit etre en .csv et voila une partie de mon code pour que vous puissiez m'aider le code php pour récupérer les données de ma base de données je dois la dans la même page que contient le fichier excel et ma page JavaScript je pense que j'ai pas besoin de faire des changements ?
<div class="box-body"> <div class="table-responsive"> <label> Fichier NAs :</label> <center> <i class="fa fa-download"></i> <a id="liennotajax" href="fichier/NAs.xlsx" rel="nofollow noopener noreferrer" target="_blank" download="NRAs.xlsx"> télécharger</a> </center> </div>
Tu nous dis que tu dois générer un csv .;..
mais le code que tu nous montres ne "génère" rien... ce n'est qu'un lien VERS un fichier xls.
Quoi qu'il en soit .... tu vas devoir coder pour générer l'export en CSV.....
Tu peux utiliser une fonction du genre :
Exemple d'appel à cette fonction
fonction que tu appelleras dans une page (php) dans laquelle tu vas faire la requête SQL sur les données que tu veux récupérer et stocker dans la variable correspondant à mon exemple précédent ($arr_datas )...
mais le code que tu nous montres ne "génère" rien... ce n'est qu'un lien VERS un fichier xls.
Quoi qu'il en soit .... tu vas devoir coder pour générer l'export en CSV.....
Tu peux utiliser une fonction du genre :
function array_to_csv_download($array, $filename = "export.csv", $delimiter=";") { header('Content-Type: application/csv'); header('Content-Disposition: attachment; filename="'.$filename.'";'); // open the "output" stream // see http://www.php.net/manual/en/wrappers.php.php#refsect2-wrappers.php-unknown-unknown-unknown-descriptioq $f = fopen('php://output', 'w'); foreach ($array as $line) { fputcsv($f, $line, $delimiter); } }
Exemple d'appel à cette fonction
$arr_datas = array( array(1,2,3,4), array(1,2,3,4)); array_to_csv_download($arr_datas, "monfichier.csv");
fonction que tu appelleras dans une page (php) dans laquelle tu vas faire la requête SQL sur les données que tu veux récupérer et stocker dans la variable correspondant à mon exemple précédent ($arr_datas )...
Bonjour,
Pas besoin d'ouvrir une nouvelle discussion en doublon de celle-ci.
Bref ....
Je t'ai donné un bout de code ... dedans tu peux y voir la fonction fputcsv ..... que tu n'as visiblement pas utilisé dans ton bout de code (que tu as trouvé je ne sais où !! )
Donc :
Soit tu suis les conseils que nous te donnons pour générer un fichier CSV ....( et dans ce cas tu peux utiliser donc la commande fputcsv : https://www.php.net/manual/fr/function.fputcsv.php )
soit ... si tu veux un VRAI fichier Excel ... il va falloir passer par la class php : PhpExcel.
https://github.com/PHPOffice/PHPExcel
Pas besoin d'ouvrir une nouvelle discussion en doublon de celle-ci.
Bref ....
Je t'ai donné un bout de code ... dedans tu peux y voir la fonction fputcsv ..... que tu n'as visiblement pas utilisé dans ton bout de code (que tu as trouvé je ne sais où !! )
Donc :
Soit tu suis les conseils que nous te donnons pour générer un fichier CSV ....( et dans ce cas tu peux utiliser donc la commande fputcsv : https://www.php.net/manual/fr/function.fputcsv.php )
soit ... si tu veux un VRAI fichier Excel ... il va falloir passer par la class php : PhpExcel.
https://github.com/PHPOffice/PHPExcel
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Je souhaiterais avoir un coups de pouce sur mon code bah j'ai reussi à exporter la base de données mais pas dans un fichier excel ça s'affiche en vrac sur le templete, peut etre j'ai oublié le truc qui me permet d'avoir l'ouverture d'un fichier excel.
Merci d'avance!
Cordialement,
Je souhaiterais avoir un coups de pouce sur mon code bah j'ai reussi à exporter la base de données mais pas dans un fichier excel ça s'affiche en vrac sur le templete, peut etre j'ai oublié le truc qui me permet d'avoir l'ouverture d'un fichier excel.
Merci d'avance!
Cordialement,
<?php require('../../bd_connect.php'); function cleanData(&$str) { // escape tab characters $str = preg_replace("/\t/", "\\t", $str); // escape new lines $str = preg_replace("/\r?\n/", "\\n", $str); // convert 't' and 'f' to boolean values if($str == 't') $str = 'TRUE'; if($str == 'f') $str = 'FALSE'; // force certain number/date formats to be imported as strings if(preg_match("/^0/", $str) || preg_match("/^\+?\d{8,}$/", $str) || preg_match("/^\d{4}.\d{1,2}.\d{1,2}/", $str)) { $str = "'$str"; } // escape fields that include double quotes if(strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"'; } // filename for download $filename = "Expordata" . date('Ymd') . ".xls"; header("Content-Disposition: attachment; filename=\"$filename\""); header("Content-Type: application/vnd.ms-excel"); $flag = false; $requete = "SELECT informations // je les ai effacés " or die('Query failed!'); $resultats= $bdd_connection->query($requete); while($row = $resultats->fetch()){ if(!$flag) { // display field/column names as first row echo implode("\t", array_keys($row)) . "\r\n"; $flag = true; } array_walk($row, __NAMESPACE__ . '\cleanData'); echo implode("\t", array_values($row)) . "\r\n"; } exit; ?>