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

(Resolvido) Gerar planilha .xls e salvar no servidor ou enviar di


Allan Rodrigo

Pergunta

Olá pessoal estou gerando um .xls a partir do banco, como explica o seguinte tutorial: link do artigo

consigo gerar bem certinho e tal, mas preciso alterar ele para não dar a opção de salvar ou abrir e sim, para salvar no servidor, ou enviar diretamente para um endereço de email.

alguma idéia??

vleu

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

A parte que força o download é essa:

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=relatorio_vendas_plugmasters.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";

Então basta remover ela, e no lugar dar um fopen/fwrite/fclose para gravar os dados ($header\n$dados)... isso vai salvar no servidor...

Link para o comentário
Compartilhar em outros sites

  • 0
A parte que força o download é essa:

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=relatorio_vendas_plugmasters.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";

Então basta remover ela, e no lugar dar um fopen/fwrite/fclose para gravar os dados ($header\n$dados)... isso vai salvar no servidor...

Opa Eserra...agradeço pela resposta...(rápido eimm...rrsrs)

ok...mas para usar os fopen/fwrite/fclose, não precisa ser criado o arquivo já?? coloco todo o código como está lá, quando chegar nesta parte removo e uso o fopen($planilha)..etc??

dá pra deixar mais claro??...=/ =S...hehhehe

Link para o comentário
Compartilhar em outros sites

  • 0

Usa o fopen no modo w, assim se o arquivo não existir, ele tenta criar...

fopen apenas abre um arquivo para leitura/escrita

no fwrite que você vai dizer o que vai ser escrito dentro do arquivo aberto...

fclose só pra fechar o que foi aberto e avisar o servidor de que está encerrada a escrita..

Link para o comentário
Compartilhar em outros sites

  • 0

dei uma olhada, o fopen abre ou cria o arquivo não é?....

fiz assim:

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=relatorio_vendas_plugmasters.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";

$fp = fopen("relatorio_vendas_plugmasters.xls", "a");  

//seta os dados e cabecalhos
$escreve = fwrite($fp, $header."\n".$dados); 

// Fecha o arquivo  
fclose($fp);
comentei o print e usei as tres funções...ele aparece a opção mesmo assim pra salvar ou abrir, mas já salva no servidor (bom começo), porém fica vazio, sem dados...vou continuar mexendo aki... flow [EDITADO] descomentei o
print "$header\n$dados";

ele salva com os dados, porém continua com a janelinha de abrir ou salbvar....

abraço

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

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,2k
    • Posts
      652,1k
×
×
  • Criar Novo...