"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment exporter des données MySQL vers Excel avec des cellules séparées en PHP ?

Comment exporter des données MySQL vers Excel avec des cellules séparées en PHP ?

Publié le 2024-11-07
Parcourir:364

How to Export MySQL Data to Excel with Separate Cells in PHP?

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 
Déclaration de sortie Cet article est réimprimé à l'adresse : 1729203864. En cas d'infraction, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

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