Exportation de données MySQL vers Excel en PHP avec des cellules séparées
Vous rencontrez un problème lors de l'exportation de données MySQL vers Excel, où tout le texte est affiché dans une seule cellule au lieu de cellules séparées pour chaque valeur de ligne. Cet article vise à fournir une solution à ce problème en traitant chaque ligne de votre code et en recommandant les modifications appropriées.
Ligne 12 : $count = mysql_num_fields($result);
Cette ligne compte le nombre de colonnes dans le jeu de résultats et l'affecte à la variable $count.
Ligne 14 : $header .= mysql_field_name($result, $i). "\t";
Cette ligne ajoute les noms de colonnes à la variable $header, séparés par des tabulations.
Ligne 24 : if(!isset($value) || $valeur == ""){ $valeur = "\t"; }
Dans cette ligne, si la valeur de la cellule est vide ou indéfinie, elle est remplacée par une tabulation. Cela garantit que chaque cellule comporte au moins un espace.
Ligne 28 : $data .= trim($line)."\n";
Ici, le la ligne de données coupée est ajoutée à la variable $data, séparée par des nouvelles lignes.
Ligne 38 : header("Content-Disposition: attachment; filename=exportfile.xls");
Dans cette ligne, l'en-tête est défini pour forcer le navigateur à télécharger le fichier sous forme de document Excel nommé exportfile.xls.
Ligne 52 : $result = @mysql_query( $sql,$Connect) ou die("Couldn't perform query:
" . mysql_error(). "
" . mysql_errno());
Cette ligne exécute la requête SQL et gère toutes les erreurs potentielles.
Ligne 63 : header("Pragma: no-cache"); and header("Expires : 0");
Ces en-têtes désactivent la mise en cache pour garantir que les dernières données sont téléchargées à chaque demande.
Ligne 92 : print trim( $schema_insert);
Dans cette ligne, les données tronquées sont imprimées.
Code amélioré :
Voici une version améliorée de votre code cela devrait résoudre le problème de l'exportation des données vers des cellules séparées dans Excel :
$DB_Server = "localhost";
$DB_Username = "username";
$DB_Password = "password";
$DB_DBName = "databasename";
$DB_TBLName = "tablename";
$filename = "excelfilename";
$sql = "Select * from $DB_TBLName";
$Connect = @mysql_connect($DB_Server, $DB_Username, $DB_Password) or die("Couldn't connect to MySQL:<br>" . mysql_error() . "<br>" . mysql_errno());
$Db = @mysql_select_db($DB_DBName, $Connect) or die("Couldn't select database:<br>" . mysql_error(). "<br>" . mysql_errno());
$result = @mysql_query($sql,$Connect) or die("Couldn't execute query:<br>" . mysql_error(). "<br>" . mysql_errno());
header("Content-Type: application/xls");
header("Content-Disposition: attachment; filename=$filename.xls");
header("Pragma: no-cache");
header("Expires: 0");
$count = mysql_num_fields($result);
for ($i = 0; $i
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3