$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.
// 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.
Pergunta
oxprofessor
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 oxprofessorLink para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
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.