0

Não consigo gerar aquivo xls da erro

criado por ancelmo em 06/09/2009 3:19pm
olá pessoal... sou novo aqui...

Bem fiz uma pagina que gera um arquivo excel a partir de uma consulta no banco.
Localmente funciona tudo bacana... gera o arquivo.
Mas quando envio pro servidor da o erro:

Warning: Cannot modify header information - headers already sent by (output started at /home/uniron/public_html/ex-alunos/xls_curso.php:2) in /home/uniron/public_html/ex-alunos/xls_curso.php on line 16

//meu codigo é esse

<?php require_once('conn.php'); ?>
<?php

$curso = $_POST["dprCurso"];

$select = "select p.nome,p.email,p.curso,p.mesFormatura,p.anoFormatura,q.* From pessoa p, questionario q where p.curso = '".$_POST["dprCurso"]."' and p.pessoaID = q.pessoaID";
$export = mysql_query($select);

$verificar=mysql_num_rows($export);

// definimos o tipo de arquivo
header('Content-type: application/msexcel');
//header("Content-type: application/octet-stream");

// Como será gravado o arquivo
header('Content-Disposition: attachment; filename=Dados_por_curso.xls');


?>
<table width="100%" border="1" align="center">
<tr>
<td colspan="13" align="center">RELAT&Oacute;RIO POR CURSO </td>
</tr>
<tr>
<td colspan="13">Curso: <?php print "$curso"; ?> </td>
</tr>
<tr>
<td>N&ordm;</td>
<td>Nome</td>
<td>Email</td>
<td>Curso</td>
<td>M&ecirc;s Formatura </td>
<td>Ano Formatura </td>
<td>Atividade</td>
<td>Local Atividade</td>
<td>Vida Profissional</td>
<td>Outros Cursos</td>
<td>Contato Colegas</td>
<td>Dados Contato</td>
<td>Sugestao</td>
</tr>
<?php
if($verificar > 0){
$i=1;
while ($rs = mysql_fetch_array($export)){?>
<tr>
<td><?php echo $i ?></td>
<td><?php echo $rs["nome"] ?></td>
<td><?php echo $rs["email"] ?></td>
<td><?php echo $rs["curso"] ?></td>
<td><?php echo $rs["mesFormatura"] ?></td>
<td><?php echo $rs["anoFormatura"] ?></td>
<td><?php echo $rs["atividadeProf"] ?></td>
<td><?php echo $rs["localAtividade"] ?></td>
<td><?php echo $rs["vidaProfissional"] ?></td>
<td><?php echo $rs["outroCurso"] ?></td>
<td><?php echo $rs["contatoColegas"] ?></td>
<td><?php echo $rs["dadosContato"] ?></td>
<td><?php echo $rs["sugestao"] ?></td>
</tr>
<?php $i++;}
}
else{
?>
<tr>
<td colspan="13" align="center">SEM REGISTRO PARA ESSE CURSO </td>
</tr>
<?php } ?>
</table>

Lista de Respostas:

0
07/09/2009 1:02am
(~15 anos atrás)
BOZO respondeu:
ancelmo, isso eh o classico erro de header.
antes de usar a um header() nao pode existir nenhum tag html antes, isso vale para linhas em branco e espacos...

provavelmente alguma tag esta vindo antes dele, tente verificar se na pafina `conn.php` existe algum...

esse erro pode estar sendo causado em decorrencia de outro, se a conexao estiver errada e algum erro estiver sendo retornado pode ser a causa do erro...

Nova Resposta:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)