Ir para conteúdo
Fórum Script Brasil
  • 0

Gerar excel com PHP


oxprofessor

Pergunta

Obrigado por ler o meu tópico.

Preciso crair uma planilha de excel a partir de dados recuperados num banco MySQL.

Até aí moleza. O meu problema agora é inserir fotos nessa planilha. Como faço?

O método que estou utilizando é esse:

$header = "Número\tNome\tEndereço\tTelefone\tCelular\tRG\tCPF\tCargo\tE-mail\tFoto";

// Monta a planilha

$dados = ""; // variável que contém o que será retornado

$checa_duplicidade = array(); // armazenará os funcionários adicionados à planilha

if($funcionarios){

foreach($funcionarios as $row){

if(!in_array($row[0], $checa_duplicidade)){ // Checa se o funcionário já não foi colocado (evita duplicidade)

$line = '';

foreach($row as $key=>$value){

if($key>1){

if((!isset($value)) OR ($value == "")){

$value = "\t";

}else{

// AQUI SERIA A FOTO ($row[11])

//if($key==11 && is_file("../funcionarios/$value")) $value=file_get_contents("../funcionarios/$value");

$value = str_replace('"', '""', $value);

$value = '"' . $value . '"' . "\t";

}

$line .= $value;

}

}

$checa_duplicidade[] = $row[0]; // Armazena no controle de duplicidades

// o trim retira os espaços encontrados no começo e no final de cada linha encontrada.

$dados .= trim($line)."\n";

}

}

}

// substituindo todas as quebras de linha ao final de cada registro, que por padrão seria \r por uma valor em branco, para que a formatação fique legível

$dados = str_replace("\r","",$dados);

// Caso não encontre nenhum registro, mostra esta mensagem.

if ($dados == "") {

$dados = "\n Nenhum registro encontrado!\n";

}

$nome_da_empresa = str_ireplace(" ", "_", $empresa->empresa_nome($e));

$nome_do_modelo = str_ireplace(" ", "_", $modelo->modelo_nome($m));

header("Content-type: application/octet-stream");

// este cabeçalho abaixo, indica que o arquivo deverá ser gerado para download (parâmetro attachment) e o nome dele será o contido dentro do parâmetro filename.

header("Content-Disposition: attachment; filename=".date("YmdHis___").$nome_da_empresa."___".$nome_do_modelo.".xls");

// No cache, ou seja, não guarda cache, pois é gerado dinamicamente

header("Pragma: no-cache");

// Não expira

header("Expires: 0");

// E aqui geramos o arquivo com os dados mencionados acima!

print "$header\n$dados";

Pra quem tiver interesse no tutorial completo de como gerar a planilha, está aqui um excelente (obrigado Flavia Jobstraibizer):

http://www.plugmasters.com.br/sys/materias...com-PHP-e-Mysql

Editado por oxprofessor
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...