Forum Pplware
correcçao de codigo - Versão de Impressão

+- Forum Pplware (http://forum.pplware.com)
+-- Fórum: Mais Tech (/forumdisplay.php?fid=11)
+--- Fórum: Programação e Web (/forumdisplay.php?fid=16)
+--- Tópico: correcçao de codigo (/showthread.php?tid=7980)



correcçao de codigo - sagres - 10-12-2010 09:51

ola bom dia leu tinha este codigo
Código PHP:
<?php
$saveName 
stripslashes($nome_arquivo);
$tam strlen($data);

$line1="ID\tProduct\tColor\tSales\t";
$line2="1\tPrinter\tGrey\t13\t";
$line3="2\tCD\tBlue\t15\t";
$line4="3\tDVD\tRed\t7\t";
$line5="4\tMonitor\tGreen\t4\t";
$line6="5\tTelephone\tBlack\t2\t";

$data="$line1\n$line2\n$line3\n$line4\n$line5\n$line6\n";

@
header ("Content-Length: $tam");
@
header ("Content-Type: application / vnd.ms-excel");
@
header ("Content-Disposition: attachment; filename=$saveName");
@
header ("Content-Transfer-Encoding: binary");
print 
"$header\n$data";
?>
este codigo a semana passada exportava um xls mas agora ao executar e imprimia uma folha excell e agora imprime um ficheiro php com os dados la dentro. alguem me pode ajudar??
o que eu queria imprimir mesmo era xml mas o Bruno Bernardino
deu me um links mas que tambem nao funcionam nao ententdo pk mesmo.


RE: correcçao de codigo - Bruno Bernardino - 10-12-2010 12:14

Boas sagres,

Peço desculpa, mas vais ter de reformular o que disseste porque não consegui perceber o teu problema.

Queres exportar um xls, mas falas em xml?

Eu dei-te um link que não funciona? Qual?

Que dados é que o ficheiro te mostra?

Assim de repente, nesse ficheiro, não tens definidas as variáveis $nome_arquivo, $data nem $header, e talvez seja por isso que estás a utilizar (erradamente) o @ para suprimir os erros do header. Se essa função em alguma linha obtiver erros, não vais conseguir o que pretendes. Pelo menos dessa forma não.


RE: correcçao de codigo - sagres - 10-12-2010 13:14

desculpa nao me ter explicado bem.o codigo que eu coloquei é para exportar xls e nao esta a funcionar por isso eh que a coloquei mas tmb pretendo exportar para xmle os links k me deste com as class so leem para o browser e eu pretendia que também exporta-se.
mas ja consegui a ajuda de um professor aqui da escola .
mas se conseguires explicar como exportar ou modelo de exportação era porreiro.


RE: correcçao de codigo - jcoutinho - 13-12-2010 01:03

Em php eu utilizo o PHPExcel
http://phpexcel.codeplex.com/

Quando possível crio um modelo; ou seja, uma Folha de Excel formatada e nas celulas que pretendo preencher utilizo umas tags: p.e. [nome_fornecedor] no documento do excel.

carrego o documento(modelo do excell):

$objPHPExcel = $objReader->load($_SERVER["DOCUMENT_ROOT"]."/pastaprojecto/modelos/modelo.xlsx");
$objWorksheet = $objPHPExcel->getActiveSheet();

depois percorro o documento

for($i=1;$i<38;$i++) {
for ($j=1;$j<138;$j++) {
$texto_celula=$objPHPExcel->getActiveSheet()->getCellByColumnAndRow($i,$j)->getValue();
if ($texto_celula=="[nome_fornecedor]") {
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($i,$j,utf8_encode($entidade->nome));
}
}

se não der para utilizar as tags.
carrego os valores directamente para a célula que pretendo:
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(2, 2, $entidade->nome));

no fim mando exportar o documento

header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition:attachment;filename="mpdelo_'.$entidade->id.'_'.$entidade->nome.'_.xls"');
header('Cache-Control: max-age=0');

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');

Mas o melhor é consultares:
http://phpexcel.codeplex.com/

ve a documentação e os exemplos.

Bom trabalho.