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

ExcelWriter


grego

Pergunta

Saudações

Estou postando aqui em PHP, pois não sei como classificar minha duvida.

Depois de muito pesquisar, consegui gerar relatorio com o ExcelWriter, ainda meio rudimentar, porém o grande problema é que os valores vão para o Excel como texto, ou seja, não permitem gerar fórmulas. E o objetivo de gerar .xls é justamente fazer adequações posteriores nela.

Se alguém puder me dar uma dica, fico muito agradecido.

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Cara, já usei isso algumas vezes, é até um código bem velhinho já. mas dava pra mexer no excel depois, testa ae

<?php


include "conexao.php";

$table="abastecimento";

$select = "SELECT  

REQUISICAO,
CODMAQ, 
DATE_FORMAT(DATA, '%d/%m/%Y'),
LOCALABAST, 
HORAINI,
HORAFIM,
HORIMETRO, 
REGIAO,
COLIGADA,
FILIAL,
DPTO,
RESPONSAVEL, 
CODPRODUTO,
QTDE, 
VLRUNIT

FROM ".$table;


$export = mysql_query($select);
    $fields = mysql_num_fields($export); 
    
    for ($i = 0; $i < $fields; $i++) {
        $header .= mysql_field_name($export, $i) . "\t"; 
    }
        
    while($row = mysql_fetch_row($export)) {
        $line = '';
        foreach($row as $value) {                                            
            if ((!isset($value)) OR ($value == "")) {
                $value = "\t";
            } else {
                $value = str_replace('"', '""', $value);
                $value = '"' . $value . '"' . "\t";
            }
            $line .= $value;
        }
        $data .= trim($line)."\n";
    }
    $data = str_replace("\r","",$data); 
    
    if ($data == "") {
        $data = "\n(0) Records Found!\n";                        
    }
    else{
        $hoje=date("Y_m_j");              
        header("Content-type: application/x-msdownload");
        header("Content-Disposition: attachment; filename=".$table."_".$hoje.".xls");
        header("Pragma: no-cache");
        header("Expires: 0");
        print "$header\n$data";  
    }
    
?>

Link para o comentário
Compartilhar em outros sites

  • 0
Cara, já usei isso algumas vezes, é até um código bem velhinho já. mas dava pra mexer no excel depois, testa ae

<?php


include "conexao.php";

$table="abastecimento";

$select = "SELECT  

REQUISICAO,
CODMAQ, 
DATE_FORMAT(DATA, '%d/%m/%Y'),
LOCALABAST, 
HORAINI,
HORAFIM,
HORIMETRO, 
REGIAO,
COLIGADA,
FILIAL,
DPTO,
RESPONSAVEL, 
CODPRODUTO,
QTDE, 
VLRUNIT

FROM ".$table;


$export = mysql_query($select);
    $fields = mysql_num_fields($export); 
    
    for ($i = 0; $i < $fields; $i++) {
        $header .= mysql_field_name($export, $i) . "\t"; 
    }
        
    while($row = mysql_fetch_row($export)) {
        $line = '';
        foreach($row as $value) {                                            
            if ((!isset($value)) OR ($value == "")) {
                $value = "\t";
            } else {
                $value = str_replace('"', '""', $value);
                $value = '"' . $value . '"' . "\t";
            }
            $line .= $value;
        }
        $data .= trim($line)."\n";
    }
    $data = str_replace("\r","",$data); 
    
    if ($data == "") {
        $data = "\n(0) Records Found!\n";                        
    }
    else{
        $hoje=date("Y_m_j");              
        header("Content-type: application/x-msdownload");
        header("Content-Disposition: attachment; filename=".$table."_".$hoje.".xls");
        header("Pragma: no-cache");
        header("Expires: 0");
        print "$header\n$data";  
    }
    
?>

Obrigado Ricardo, mas não vejo como implementar seu código. Meu Select tem INNER JOIN e cláusulas WHERE e ainda no decorrer do relatorio, tem as quebras e totalizações. Pelo que entendi, você enfatizou campo DATA e preciso que campo Valor seja realmente um Valor no .xls e está gerando como texto.

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
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...