"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo exportar datos MySQL a Excel con celdas separadas en PHP?

¿Cómo exportar datos MySQL a Excel con celdas separadas en PHP?

Publicado el 2024-11-07
Navegar:161

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

Exportación de datos MySQL a Excel en PHP con celdas separadas

Tienes un problema al exportar datos MySQL a Excel, donde todo el texto se muestra en una sola celda en lugar de celdas separadas para cada valor de fila. Este artículo tiene como objetivo proporcionar una solución a este problema abordando cada línea de su código y recomendando los cambios apropiados.

Línea 12: $count = mysql_num_fields($resultado);

Esta línea cuenta el número de columnas en el conjunto de resultados y lo asigna a la variable $count.

Línea 14: $header .= mysql_field_name($resultado, $i)."\t";

Esta línea agrega los nombres de las columnas a la variable $header, separados por tabulaciones.

Línea 24: if(!isset($valor) || $valor == ""){ $valor = "\t"; }

En esta línea, si el valor de la celda está vacío o no está definido, se reemplaza con una pestaña. Esto asegura que cada celda tenga al menos un espacio.

Línea 28: $data .= trim($line)."\n";

Aquí, el La línea de datos recortada se agrega a la variable $data, separada por nuevas líneas.

Línea 38: header("Content-Disposition: adjunto; filename=exportfile.xls");

En esta línea, el encabezado está configurado para forzar al navegador a descargar el archivo como un documento de Excel llamado exportfile.xls.

Línea 52 : $resultado = @mysql_query($sql,$Connect) o die("No se pudo ejecutar la consulta:
" . mysql_error(). "
" . mysql_errno());

Esta línea ejecuta la consulta SQL y maneja cualquier error potencial.

Línea 63: header("Pragma: sin caché"); and header("Expires: 0");

Estos encabezados desactivan el almacenamiento en caché para garantizar que se descarguen los datos más recientes en cada solicitud.

Línea 92: print trim( $schema_insert);

En esta línea, se imprimen los datos recortados.

Mejorado Código:

Aquí hay una versión mejorada de su código que debería resolver el problema de exportar datos a celdas separadas en 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 
Declaración de liberación Este artículo se reimprime en: 1729203864 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3