Yii Framework Forum: Imprimir E Exportar Informações Do Grid - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Imprimir E Exportar Informações Do Grid Rate Topic: -----

#1 User is offline   Edson Rodrigues 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 378
  • Joined: 10-August 10

Posted 07 April 2013 - 05:22 PM

Olá Pessoal,

Estou desenvolvendo um projeto onde tem um botão que tem as seguintes opções: Imprimir, Salvar em PDF e Exportar para Excel as informações de um $dataprovider.

Alguém saberia uma extensão que faz tudo isso ou extensões individuais que seja simples e eficaz.

Agradeço
0

#2 User is offline   gbasto 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 70
  • Joined: 28-September 10
  • Location:Portugal

Posted 08 April 2013 - 05:53 AM

http://www.yiiframew...ons/?tag=export
0

#3 User is offline   Gustavo Andrade 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 121
  • Joined: 16-August 11
  • Location:Brazil - MG

Posted 08 April 2013 - 08:12 PM

Olá,

A unica que testei até hoje foi a extensão exportablegridbehavior e funcionou blz cara (exporta inclusive com os dados após filtrar a grid).


Abraços
0

#4 User is offline   Edson Rodrigues 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 378
  • Joined: 10-August 10

Posted 09 April 2013 - 10:50 AM

View PostGustavo Andrade, on 08 April 2013 - 08:12 PM, said:

Olá,

A unica que testei até hoje foi a extensão exportablegridbehavior e funcionou blz cara (exporta inclusive com os dados após filtrar a grid).


Abraços


Pelo que vi este exporta para excel ou pdf tb.
0

#5 User is offline   Gustavo Andrade 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 121
  • Joined: 16-August 11
  • Location:Brazil - MG

Posted 09 April 2013 - 07:20 PM

View PostEdson Rodrigues, on 09 April 2013 - 10:50 AM, said:

Pelo que vi este exporta para excel ou pdf tb.


Opa..
Não, essa extensão exporta apenas para Excel (CSV). Mas ela é bem 'descomplicada' cara, acho isso bacana...
0

#6 User is offline   Adrian Lucas 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 230
  • Joined: 13-October 11
  • Location:João Pessoa - Paraíba

Posted 10 April 2013 - 09:06 AM

Amigo um dia desses estava precisando também exportar para excel e vi uma forma interessante que o Yii já vem incluso. Abaixo segue o exemplo que fiz, no meu caso serviu bastante e não precisei baixar nada.

No controller criei a função abaixo
    public function actionCandExcel() {
        $total = 1;
        $tamanhofonte = "14";
        $sql = 'SELECT cd.sexo, cd.nome, cd.foneresid, cd.fonecel, cd.fonerecado, st.nome AS setor
                    FROM docpendente dp
                    JOIN candidatos cd ON cd.idcandidatos = dp.candidatos
                    JOIN examesmedicos ex ON ex.candidatos = dp.candidatos
                    JOIN setor st ON st.idsetor = ex.setor
                    WHERE cd.situacao = 9 AND bloqueio = "N"
                    ORDER BY st.nome, cd.sexo ASC';
        $conn = Yii::app()->db->createCommand($sql)->queryAll();
        $html = '
            <html>
                <head>
                    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
                    <meta http-equiv="Content-Language" content="pt-br, pt">
                    <title>Candidatos com Documentações OK</title>
                </head>
                <body> 
                    <table style="text-align: left;" align="center" border="0" width="750" >
                        <tbody>
                            <tr>
                                <td style="text-align: center" colspan="7"><span style="font-size: ' . $tamanhofonte . ';"><b>Candidatos com Documentações OK</b></td>
                            </tr>                            
                        </tbody>
                    </table>
            <table style="text-align: left; border: 1px solid #9C9C9C;" align="center" border="1" width="750" frame="border" rules="rows">      
            <thead>
            <tr>
                <td style="background: #EEEEE0"><span style="font-size: ' . $tamanhofonte . ';"><b>Seq.</b></td>
                <td style="text-align: center; background: #EEEEE0"><span style="font-size: ' . $tamanhofonte . ';"><b>Sexo</b></td>
                <td style="background: #EEEEE0"><span style="font-size: ' . $tamanhofonte . ';"><b>Nome</b></td>                             
                <td style=" text-align: center;background: #EEEEE0"><span style="font-size: ' . $tamanhofonte . ';"><b>Fone Res.</b></td>    
                <td style="text-align: center; background: #EEEEE0"><span style="font-size: ' . $tamanhofonte . ';"><b>Fone Cel.</b></td>
                <td style="text-align: center; background: #EEEEE0"><span style="font-size: ' . $tamanhofonte . ';"><b>Fone Contato</b></td>   
                <td style="text-align: center; background: #EEEEE0"><span style="font-size: ' . $tamanhofonte . ';"><b>Setor</b></td>
            </tr>';
        foreach ($conn as $row) {
            $html.='
            <tr>
                <td style="text-align: center;"><span style="font-size: ' . $tamanhofonte . ';">' . $total++ . '</td>
                <td style="text-align: center;"><span style="font-size: ' . $tamanhofonte . ';">' . $row['sexo'] . '</td>
                <td><span style="font-size: ' . $tamanhofonte . ';">' . $row['nome'] . '</td>                
                <td style="text-align: center;"><span style="font-size: ' . $tamanhofonte . ';">' . $row['foneresid'] . '</td>    
                <td style="text-align: center;"><span style="font-size: ' . $tamanhofonte . ';">' . $row['fonecel'] . '</td>
                <td style="text-align: center;"><span style="font-size: ' . $tamanhofonte . ';">' . $row['fonerecado'] . '</td> 
                <td><span style="font-size: ' . $tamanhofonte . ';">' . $row['setor'] . '</td>
            </tr>';
        }
        $html.='</body>
            </html> ';
        echo $html;
        Yii::app()->request->sendFile('Candidatos com Documentações OK.xls', $html);// Colocando o tipo do artivo com .pdf ele já imprimi em PDF.
    }


E no view criei o botão para imprimir.
            <td style="text-align: center">
                <Font color="#00008B"><b>Candidatos por Função</b><br></font>
                <?php echo '<a href="' . $this->createUrl('/candidatos/CandExcel') . '" ><img src="' . Yii::app()->baseUrl . '/images/Boy.png"/>'; ?>
            </td>


Como disse acima, no meu caso deu certo e serviu como uma beleza. Claro que existe outras formas mais rápidas de utilização, mas nesse caso o que me chamou a atenção é porque já é nativo do framework.

Espero ter ajudado.:D
Adrian Lucas
A fé em Deus nos faz crer no incrível,
ver o invisível e realizar o impossível.

0

#7 User is offline   Edson Rodrigues 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 378
  • Joined: 10-August 10

Posted 10 April 2013 - 10:15 AM

View PostAdrian Lucas, on 10 April 2013 - 09:06 AM, said:

Amigo um dia desses estava precisando também exportar para excel e vi uma forma interessante que o Yii já vem incluso. Abaixo segue o exemplo que fiz, no meu caso serviu bastante e não precisei baixar nada.

No controller criei a função abaixo
    public function actionCandExcel() {
        $total = 1;
        $tamanhofonte = "14";
        $sql = 'SELECT cd.sexo, cd.nome, cd.foneresid, cd.fonecel, cd.fonerecado, st.nome AS setor
                    FROM docpendente dp
                    JOIN candidatos cd ON cd.idcandidatos = dp.candidatos
                    JOIN examesmedicos ex ON ex.candidatos = dp.candidatos
                    JOIN setor st ON st.idsetor = ex.setor
                    WHERE cd.situacao = 9 AND bloqueio = "N"
                    ORDER BY st.nome, cd.sexo ASC';
        $conn = Yii::app()->db->createCommand($sql)->queryAll();
        $html = '
            <html>
                <head>
                    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
                    <meta http-equiv="Content-Language" content="pt-br, pt">
                    <title>Candidatos com Documentações OK</title>
                </head>
                <body> 
                    <table style="text-align: left;" align="center" border="0" width="750" >
                        <tbody>
                            <tr>
                                <td style="text-align: center" colspan="7"><span style="font-size: ' . $tamanhofonte . ';"><b>Candidatos com Documentações OK</b></td>
                            </tr>                            
                        </tbody>
                    </table>
            <table style="text-align: left; border: 1px solid #9C9C9C;" align="center" border="1" width="750" frame="border" rules="rows">      
            <thead>
            <tr>
                <td style="background: #EEEEE0"><span style="font-size: ' . $tamanhofonte . ';"><b>Seq.</b></td>
                <td style="text-align: center; background: #EEEEE0"><span style="font-size: ' . $tamanhofonte . ';"><b>Sexo</b></td>
                <td style="background: #EEEEE0"><span style="font-size: ' . $tamanhofonte . ';"><b>Nome</b></td>                             
                <td style=" text-align: center;background: #EEEEE0"><span style="font-size: ' . $tamanhofonte . ';"><b>Fone Res.</b></td>    
                <td style="text-align: center; background: #EEEEE0"><span style="font-size: ' . $tamanhofonte . ';"><b>Fone Cel.</b></td>
                <td style="text-align: center; background: #EEEEE0"><span style="font-size: ' . $tamanhofonte . ';"><b>Fone Contato</b></td>   
                <td style="text-align: center; background: #EEEEE0"><span style="font-size: ' . $tamanhofonte . ';"><b>Setor</b></td>
            </tr>';
        foreach ($conn as $row) {
            $html.='
            <tr>
                <td style="text-align: center;"><span style="font-size: ' . $tamanhofonte . ';">' . $total++ . '</td>
                <td style="text-align: center;"><span style="font-size: ' . $tamanhofonte . ';">' . $row['sexo'] . '</td>
                <td><span style="font-size: ' . $tamanhofonte . ';">' . $row['nome'] . '</td>                
                <td style="text-align: center;"><span style="font-size: ' . $tamanhofonte . ';">' . $row['foneresid'] . '</td>    
                <td style="text-align: center;"><span style="font-size: ' . $tamanhofonte . ';">' . $row['fonecel'] . '</td>
                <td style="text-align: center;"><span style="font-size: ' . $tamanhofonte . ';">' . $row['fonerecado'] . '</td> 
                <td><span style="font-size: ' . $tamanhofonte . ';">' . $row['setor'] . '</td>
            </tr>';
        }
        $html.='</body>
            </html> ';
        echo $html;
        Yii::app()->request->sendFile('Candidatos com Documentações OK.xls', $html);// Colocando o tipo do artivo com .pdf ele já imprimi em PDF.
    }


E no view criei o botão para imprimir.
            <td style="text-align: center">
                <Font color="#00008B"><b>Candidatos por Função</b><br></font>
                <?php echo '<a href="' . $this->createUrl('/candidatos/CandExcel') . '" ><img src="' . Yii::app()->baseUrl . '/images/Boy.png"/>'; ?>
            </td>


Como disse acima, no meu caso deu certo e serviu como uma beleza. Claro que existe outras formas mais rápidas de utilização, mas nesse caso o que me chamou a atenção é porque já é nativo do framework.

Espero ter ajudado.:D


Legal Adrian,

Mais estou tendo problema com pdf ele nao abre pois fala que não foi decodificado corretamente, e no arquivos do excel tb aparece um erro falando que o tipo de arquivo esta errado... ai dou ok ai abre mais o pdf não.
0

#8 User is offline   gbasto 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 70
  • Joined: 28-September 10
  • Location:Portugal

Posted 10 April 2013 - 02:15 PM

View PostEdson Rodrigues, on 10 April 2013 - 10:15 AM, said:

Legal Adrian,

Mais estou tendo problema com pdf ele nao abre pois fala que não foi decodificado corretamente, e no arquivos do excel tb aparece um erro falando que o tipo de arquivo esta errado... ai dou ok ai abre mais o pdf não.


A sugestão do Adrian Lucas gera um ficheiro Excel, não Pdf.
0

#9 User is offline   Gustavo Andrade 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 121
  • Joined: 16-August 11
  • Location:Brazil - MG

Posted 10 April 2013 - 07:52 PM

View PostAdrian Lucas, on 10 April 2013 - 09:06 AM, said:

Amigo um dia desses estava precisando também exportar para excel e vi uma forma interessante que o Yii já vem incluso. Abaixo segue o exemplo que fiz, no meu caso serviu bastante e não precisei baixar nada.

No controller criei a função abaixo
    public function actionCandExcel() {
        $total = 1;
        $tamanhofonte = "14";
        $sql = 'SELECT cd.sexo, cd.nome, cd.foneresid, cd.fonecel, cd.fonerecado, st.nome AS setor
                    FROM docpendente dp
                    JOIN candidatos cd ON cd.idcandidatos = dp.candidatos
                    JOIN examesmedicos ex ON ex.candidatos = dp.candidatos
                    JOIN setor st ON st.idsetor = ex.setor
                    WHERE cd.situacao = 9 AND bloqueio = "N"
                    ORDER BY st.nome, cd.sexo ASC';
        $conn = Yii::app()->db->createCommand($sql)->queryAll();
        $html = '
            <html>
                <head>
                    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
                    <meta http-equiv="Content-Language" content="pt-br, pt">
                    <title>Candidatos com Documentações OK</title>
                </head>
                <body> 
                    <table style="text-align: left;" align="center" border="0" width="750" >
                        <tbody>
                            <tr>
                                <td style="text-align: center" colspan="7"><span style="font-size: ' . $tamanhofonte . ';"><b>Candidatos com Documentações OK</b></td>
                            </tr>                            
                        </tbody>
                    </table>
            <table style="text-align: left; border: 1px solid #9C9C9C;" align="center" border="1" width="750" frame="border" rules="rows">      
            <thead>
            <tr>
                <td style="background: #EEEEE0"><span style="font-size: ' . $tamanhofonte . ';"><b>Seq.</b></td>
                <td style="text-align: center; background: #EEEEE0"><span style="font-size: ' . $tamanhofonte . ';"><b>Sexo</b></td>
                <td style="background: #EEEEE0"><span style="font-size: ' . $tamanhofonte . ';"><b>Nome</b></td>                             
                <td style=" text-align: center;background: #EEEEE0"><span style="font-size: ' . $tamanhofonte . ';"><b>Fone Res.</b></td>    
                <td style="text-align: center; background: #EEEEE0"><span style="font-size: ' . $tamanhofonte . ';"><b>Fone Cel.</b></td>
                <td style="text-align: center; background: #EEEEE0"><span style="font-size: ' . $tamanhofonte . ';"><b>Fone Contato</b></td>   
                <td style="text-align: center; background: #EEEEE0"><span style="font-size: ' . $tamanhofonte . ';"><b>Setor</b></td>
            </tr>';
        foreach ($conn as $row) {
            $html.='
            <tr>
                <td style="text-align: center;"><span style="font-size: ' . $tamanhofonte . ';">' . $total++ . '</td>
                <td style="text-align: center;"><span style="font-size: ' . $tamanhofonte . ';">' . $row['sexo'] . '</td>
                <td><span style="font-size: ' . $tamanhofonte . ';">' . $row['nome'] . '</td>                
                <td style="text-align: center;"><span style="font-size: ' . $tamanhofonte . ';">' . $row['foneresid'] . '</td>    
                <td style="text-align: center;"><span style="font-size: ' . $tamanhofonte . ';">' . $row['fonecel'] . '</td>
                <td style="text-align: center;"><span style="font-size: ' . $tamanhofonte . ';">' . $row['fonerecado'] . '</td> 
                <td><span style="font-size: ' . $tamanhofonte . ';">' . $row['setor'] . '</td>
            </tr>';
        }
        $html.='</body>
            </html> ';
        echo $html;
        Yii::app()->request->sendFile('Candidatos com Documentações OK.xls', $html);// Colocando o tipo do artivo com .pdf ele já imprimi em PDF.
    }


E no view criei o botão para imprimir.
            <td style="text-align: center">
                <Font color="#00008B"><b>Candidatos por Função</b><br></font>
                <?php echo '<a href="' . $this->createUrl('/candidatos/CandExcel') . '" ><img src="' . Yii::app()->baseUrl . '/images/Boy.png"/>'; ?>
            </td>


Como disse acima, no meu caso deu certo e serviu como uma beleza. Claro que existe outras formas mais rápidas de utilização, mas nesse caso o que me chamou a atenção é porque já é nativo do framework.

Espero ter ajudado.:D



Que bacana cara! Vou testar aqui :D
0

#10 User is offline   Edson Rodrigues 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 378
  • Joined: 10-August 10

Posted 13 April 2013 - 06:18 PM

Galera,

Alguém conhece alguma maneira ou se existe esta possibilidade de enviar as informações para serem impressa a partir do $this->renderPartial().

Ou alguma maneira de enviar para impressora a saida de um tcpdf (PDF) pois estou usando esta classe para gerar o pdf.

Agradeço
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users