[RESOLVIDO] EXPORTANDO BANCO PARA EXCEL ERRO

Bom Dia Pessoal,

 Estou com um probleminha nesse código, se for possível alguém me dar uma mãozinha, eu agradeço. 
 E o seguinte estou pegando alguns dados passado pelo o usuário como Mês e o Ano e em seguida faço
 uma consulta no banco de dados e exporto o resultado dessa consulta para uma tabela Excel via html.     
 Quando eu exporto o arquivo aparece os dados, mas na primeira linha aparece o seguinte erro.

 Segue a imagem do Erro.

Código

if(!validaData({ano}, ‘AAAA’)){
$msg_erro =“Ano inválido”;
echo "


$msg_erro
";
}else{

//Criando e exportando planilhas do Excel

//Definição do nome do arquivo que será exportado
$arquivo = ‘planilha.xls’;

// Criamos uma tabela HTML com o formato da planilha
$html.= ‘’;
$html.= ‘

’;
$html.= ‘’;
$html.= ‘’;
$html.= ‘’;
$html.= ‘’;
$html.= ‘’;
$html.= '';
$html.= '';
$html.= '';
$html.= '';
$html.= '';
$html.= '';
$html.= '';
$html.= '';
$html.= '';
$html.= '';
$html.= '';
$html.= ‘’;
$html.= '';
$html.= '';
$html.= ‘’;

$sql = “SELECT
Ano,
Mes,
Matricula,
Segmento,
AcaoOrcamentaria,
ProventosLiquidos,
BCFunafinPatronal,
BCINSSPatronal,
EncargosFunafin,
EncargosInss,
AuxilioSaude,
AuxilioAlimentacao,
Liquido13,
BCFunafin13,
BCINSS13,
EncargosFunafin13,
EncargosInss13
FROM
dbo.SCT_FOLHA WHERE Ano = {ano} AND Mes = {mes}”;

sc_select(dataset, $sql);

if (false == {dataset}) // Error while accessing database
{
sc_error_message(‘Error ao acessar o banco de dados’);

}else{
while(!$dataset->EOF){
$Ano = $dataset->fields[0];
$Mes = $dataset->fields[1];
$Matricula = $dataset->fields[2];
$Segmento = $dataset->fields[3];
$AcaoOrcamentaria = $dataset->fields[4];
$ProventosLiquidos = floatval($dataset->fields[5]);
$BCFunafinPatronal = floatval($dataset->fields[6]);
$BCINSSPatronal = floatval($dataset->fields[7]);
$EncargosFunafin = floatval($dataset->fields[9]);
$EncargosInss = floatval($dataset->fields[10]);
$AuxilioSaude = floatval($dataset->fields[11]);
$AuxilioAlimentacao = floatval($dataset->fields[12]);
$Liquido13 = floatval($dataset->fields[13]);
$BCFunafin13 = floatval($dataset->fields[14]);
$BCINSS13 = floatval($dataset->fields[15]);
$EncargosFunafin13 = floatval($dataset->fields[16]);
$EncargosInss13 = floatval($dataset->fields[17]);

       $vazio = " ";		

	
       $html.= "<TR>";	
       $html.= "<TD ALIGN='RIGHT'>".$Ano."</TD>";
       $html.= "<TD ALIGN='RIGHT'>".$Mes."</TD>";
       $html.= "<TD ALIGN='RIGHT'>".$Matricula."</TD>";
       $html.= "<TD>".$Segmento."</TD>";
       $html.= "<TD>".$AcaoOrcamentaria."</TD>";			
       $html.= "<TD ALIGN='RIGHT'>".$ProventosLiquidos."</TD>";
   $html.= "<TD ALIGN='RIGHT'>".$BCFunafinPatronal."</TD>";
   $html.= "<TD ALIGN='RIGHT'>".$BCINSSPatronal."</TD>";			
   $html.= "<TD ALIGN='RIGHT'>".$EncargosFunafin."</TD>";
   $html.= "<TD ALIGN='RIGHT'>".$EncargosInss."</TD>";	
       $html.= "<TD ALIGN='RIGHT'>".$AuxilioSaude."</TD>";
   $html.= "<TD ALIGN='RIGHT'>".$AuxilioAlimentacao."</TD>";
       $html.= "<TD ALIGN='RIGHT'>".$Liquido13."</TD>";
       $html.= "<TD ALIGN='RIGHT'>".$BCFunafin13."</TD>";
       $html.= "<TD>".$BCINSS13."</TD>";
       $html.= "<TD WIDTH=500>$vazio</TD>";
       $html.= "<TD ALIGN='RIGHT'>".$EncargosFunafin13."</TD>";
       $html.= "<TD ALIGN='RIGHT'>".$EncargosInss13."</TD>";	
       $html.= "</TR>";

$dataset->MoveNext();
}

$dataset->Close();

       $html.= '</TABLE>';	
       $html.= "<br>";

// Configurações header para forçar o download
header (“Expires: Mon, 26 Jul 1997 05:00:00 GMT”);
header(“Content-Encoding: UTF-8”);
header (“Last-Modified: " . gmdate(“D,d M YH:i:s”) . " GMT”);
header (“Cache-Control: no-cache, must-revalidate”);
header (“Pragma: no-cache”);
header (“Content-type: application/x-msexcel”);
header (“Content-Disposition: attachment; filename=”{$arquivo}"");
header (“Content-Description: PHP Generated Data” );

}

echo $html;


exit();

}

ANOMÊSMATRÍCULASEGMENTOAÇÃO ORÇAMENTÁRIA LÍQUIDO MENSAL BCFUNAFIN MENSAL BCINSS MENSAL FUNAFIN PATRONAL POR SERVIDOR INSS PATRONAL POR SERVIDOR AUXÍLIO SAÚDE AUXÍLIO ALIMENTAÇÃO LÍQUIDO 13 BCFUNAFIN 13 BCINSS 13 FUNAFIN PATRONAL 13º POR SERVIDOR INSS PATRONAL 13º POR SERVIDOR

Imagem do Erro!


ERRO123.png

Tenta criar por uma aplicação BLANK a planilha excel usando o PHPEXECEL.

Olá william,

Fiz o que vc me indicou, porém não tenho pratica alguma com o PHPEXCEL. Estava testando aqui esse código e ao exportar os dados para o Excel está acontecendo o seguinte. Se poder me ajuda, agradeço ..... vlew.

Código:

//Incluimos a classe PHPExcel
require_once $this->Ini->path_third.’/phpexcel/PHPExcel.php’;

// Instanciamos a classe
$objPHPExcel = new PHPExcel();

// Definimos o estilo da fonte
$objPHPExcel->getActiveSheet()->getStyle(‘A1’)->getFont()->setBold(true);

// Criamos as colunas
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue(‘A1’, ‘Teste’ )
->setCellValue(‘B1’, “Teste” )
->setCellValue(“C1”, “Teste” )
->setCellValue(“D1”, “Teste” );

// Configurar diferentes larguras paras as colunas como padrão
$objPHPExcel->getActiveSheet()->getColumnDimension(‘A’)->setWidth(90);
$objPHPExcel->getActiveSheet()->getColumnDimension(‘B’)->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension(‘C’)->setWidth(30);
$objPHPExcel->getActiveSheet()->getColumnDimension(‘D’)->setWidth(30);

//Escolhe a posição exata aonde o dado será inserido (coluna, linha, dado);
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(1, 2, “Teste”);
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(2, 2, “Teste”);
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(3, 2, “Teste”);
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(4, 2, “Teste”);

// Renomear o nome das planilha atual, lembrando que um único arquivo pode ter várias planilhas
$objPHPExcel->getActiveSheet()->setTitle(‘TestandoTeste’);

// Cabeçalho do arquivo para ele baixar
header(“Content-Encoding: UTF-8”);
header(‘Content-Type: application/vnd.ms-excel’);
header(‘Content-Disposition: attachment;filename=“Folha.xls”’);
header(‘Cache-Control: max-age=0’);

// Se for o IE9, isso talvez seja necessário
header(‘Cache-Control: max-age=1’);

// Acessamos o ‘Writer’ para poder salvar o arquivo
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, ‘CSV’);

// Salva diretamente no output
$objWriter->save(‘php://output’);

exit;

}


erro phpexcel.png

Oi eu tambem nao tenho pratica com esta classe, o que eu fiz foi ir no site pegar o exemplo e desenvolver.

A surra inicial que eu tomei foi que eu usava aplicacao controle, ao inves de blank.

Depois o que eu fiz foi montando aos poucos, fiz uma celula mandava gerar, fazia outra celula e mandava gerar.

Como o que eu tinha que montar era bem pequeno, foi mas como teste do que real eu consegui.

Tenta desta forma, cria algo bem simples e depois vai acrescentando, pode ser que assim vc consiga achar o problema.

marciowilliam,

Quebrei bastante a cabeça com o PHPExcel, já tinha pedido muito tempo quanto a isso, decidi optar por criar
a planilha via HTML, deu algumas broncas mais consegui resolver.

Obrigado pela força. …

valew.