"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como exportar dados MySQL para Excel com células separadas em PHP?

Como exportar dados MySQL para Excel com células separadas em PHP?

Publicado em 2024-11-07
Navegar:462

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

Exportando dados MySQL para Excel em PHP com células separadas

Você está encontrando um problema ao exportar dados MySQL para Excel, onde todo o texto está sendo exibido em uma única célula em vez de células separadas para cada valor de linha. Este artigo tem como objetivo fornecer uma solução para esse problema abordando cada linha do seu código e recomendando as alterações apropriadas.

Linha 12: $count = mysql_num_fields($result);

Esta linha conta o número de colunas no conjunto de resultados e o atribui à variável $count.

Linha 14: $header .= mysql_field_name($result, $i). "\t";

Esta linha anexa os nomes das colunas à variável $header, separados por tabulações.

Linha 24: if(!isset($value) || $valor == ""){ $valor = "\t"; }

Nesta linha, se o valor da célula estiver vazio ou indefinido, ele será substituído por uma tabulação. Isso garante que cada célula tenha pelo menos um espaço.

Linha 28: $data .= trim($line)."\n";

Aqui, o a linha aparada de dados é anexada à variável $data, separada por novas linhas.

Linha 38: header("Content-Disposition: attachment; filename=exportfile.xls");

Nesta linha, o cabeçalho é definido para forçar o navegador a baixar o arquivo como um documento Excel chamado exportfile.xls.

Linha 52: $result = @mysql_query( $sql,$Connect) ou die("Não foi possível executar a consulta:
" . mysql_error(). "
" . mysql_errno());

Esta linha executa a consulta SQL e lida com quaisquer erros potenciais.

Linha 63: header("Pragma: no-cache"); and header("Expires: 0");

Esses cabeçalhos desativam o cache para garantir que os dados mais recentes sejam baixados em cada solicitação.

Linha 92: print trim( $schema_insert);

Nesta linha, os dados cortados são impressos.

Código aprimorado:

Aqui está uma versão aprimorada do seu código isso deve resolver o problema de exportação de dados para células separadas no 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 
Declaração de lançamento Este artigo foi reimpresso em: 1729203864 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3