EXCEL PRA PDF

Discussão em 'Progress 4GL' iniciado por Alexandre, Julho 17, 2014.

  1. Alexandre

    Alexandre Membro Participativo

    bom dia pessoal

    Tem como exportar uma tabela excel com gráficos para PDF?


    abraço
  2. Cobra.cne

    Cobra.cne Equipe de Suporte Moderador

    Olá @Alexandre ,

    Eu utilizo o código abaixo para exportar uma pasta Excel para PDF:

    PHP:
    chWorkSheet:ExportAsFixedFormat(0 /* xlTypePDF */,
                                    
    "c:\temp\arquivo.pdf",
                                    
    0 /* xlQualityStandard */,
                                    
    FALSE /* IncludeDocProperties */,,,,,).
    Aqui no fórum também tem outros exemplos.

    Espero que ajude.
  3. Alexandre

    Alexandre Membro Participativo

    Olá @Cobra.cne , não entendi, mas como faço pra transformar um arquivo .xlsx ou .xls que esta salvo no c:\temp para PDF.
    Para txt é tranquilo eu utilizo:

    RUN pdf/pdfapi001.p (INPUT tt-param.arquivo ,
    OUTPUT c-arq-pdf,
    INPUT 5,
    INPUT 2,
    OUTPUT l-ok,
    INPUT 7.00).

    mas para EXCEL?
  4. Cobra.cne

    Cobra.cne Equipe de Suporte Moderador

    Alexandre,

    Este comando que coloquei, foi imaginando que você estava gerando o arquivo Excel, ai era só colocar no final que ele exportaria para PDF.

    Eu não conheço um programa que faça isso, mas vou montar um código aqui e daqui a pouco posto o exemplo.
  5. Alexandre

    Alexandre Membro Participativo

  6. Cobra.cne

    Cobra.cne Equipe de Suporte Moderador

    Segue o exemplo ai, lembrando que o pré-requisito é ter o Excel onde for executar o programa, ai vc pode transformar em um .p também e fazer a chamada, fazer uma include, o que ficar melhor.


    Espero que ajude.
    PHP:
    PROCEDURE pi-excel-to-pdf:
    /* Converter Excel em PDF */

    DEFINE INPUT  PARAMETER p-arq-orig AS CHARACTER   NO-UNDO.
    DEFINE INPUT  PARAMETER p-arq-dest AS CHARACTER   NO-UNDO.

    DEFINE VARIABLE c-arquivo AS CHARACTER   NO-UNDO.

    ASSIGN c-arquivo = SEARCH(p-arq-orig).
    IF 
    c-arquivo = ? THEN
        
    RETURN "Arquivo de Origem não encontrado.".

    DEF VAR chExcelApplication AS COM-HANDLE                    NO-UNDO.

    CREATE "Excel.Application" chExcelApplication.
    FILE-INFO:FILE-NAME = c-arquivo.
    chexcelapplication:workbooks:OPEN(file-info:full-pathname,TRUE) NO-ERROR.
    IF 
    NOT ERROR-STATUS:ERROR THEN DO:
        
    chExcelApplication:Visible = FALSE.
        
    chExcelApplication:APPLICATION:DisplayAlerts = FALSE.
        
    chExcelApplication:ActiveWorkbook:ExportAsFixedFormat(0 /* xlTypePDF */,
                                                              
    p-arq-dest,
                                                              
    0 /* xlQualityStandard */,
                                                              
    FALSE /* IncludeDocProperties */,,,,,) NO-ERROR.
    END.
    IF 
    ERROR-STATUS:ERROR THEN
        
    RETURN "Arquivo inválido, erro: " + ERROR-STATUS:GET-MESSAGE(1).
    chExcelApplication:QUIT() NO-ERROR.
    RELEASE OBJECT chExcelApplication NO-ERROR.

    RETURN 
    "OK".
    END PROCEDURE.
    Abs
    denek, noellen e pizzaia curtiram isso.

Compartilhe esta Página