Jump to content
Fórum Script Brasil
  • 0

ExcelWriter


grego

Question

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 to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...