Location: PHPKode > scripts > ADODB SQL 2 Excel > adodb-sql-2-excel/excel.inc.php
<?
//Fiz essa classe pela necessidade de exportar 
//dados vindos de um banco sql server (vc pode usar BD)
//para se utilizar basta instanciar a classe
//passando como parametros os titulos das colunas
//dentro de um vetor e o segundo parametro sendo a query em si
//a classe chama por padrao o ponteiro $db do ADODB, caso n seja esse o nome
//fique a vontade para modificar a classe
//(A classe GeralExcel n eh minha)
//Creditos a DzaiaCuck - hide@address.com 
//Rubens A. Monteiro - hide@address.com 20/09/05
class sql2excel extends GeraExcel { 
		function sql2excel($tit, $sql) 
		{
			global $db; 
			$this->GeraExcel();
			for ($i=0; $i<count($tit); $i++) 
			{
					$this->MontaConteudo(0,$i,$tit[$i]);
	 		}
			$qr=$db->execute($sql);
			$j=1;
			while ($reg=$qr->fetchrow())
			{
					for ($i=0; $i<count($reg); $i++) 
					{
							$this->MontaConteudo($j,$i,$reg[$i]);
					}
					$j++;
			}
			$this->GeraArquivo();
		}
}
class  GeraExcel{

// define parametros(init)
function  GeraExcel(){

$this->armazena_dados   = ""; // Armazena dados para imprimir(temporario)
$this->ExcelStart();
}// fim constructor

     
// Monta cabecario do arquivo(tipo xls)
function ExcelStart(){

//inicio do cabecario do arquivo
$this->armazena_dados = pack( "vvvvvv", 0x809, 0x08, 0x00,0x10, 0x0, 0x0 );
}

// Fim do arquivo excel
function FechaArquivo(){
$this->armazena_dados .= pack( "vv", 0x0A, 0x00);
}


// monta conteudo
function MontaConteudo( $excel_linha, $excel_coluna, $value){

$tamanho = strlen( $value );
$this->armazena_dados .= pack( "v*", 0x0204, 8 + $tamanho, $excel_linha, $excel_coluna, 0x00, $tamanho );
$this->armazena_dados .= $value;
}//Fim, monta Col/Lin

// Gera arquivo(xls)
function GeraArquivo(){

//Fecha arquivo(xls)
$this->FechaArquivo();
header("Content-type: application/zip");
//header("Content-type: text/x-comma-separated-values");
header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT');
header("Content-disposition: inline; filename=excel.xls");
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header("Pragma: public");
print  ( $this->armazena_dados);
}// fecha funcao
# Fim da classe que gera excel
}
?>
Return current item: ADODB SQL 2 Excel