1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Anuncie Aqui
    Anuncie aqui você Também: fdantas@4each.com.br

Importação Excel

Discussão em 'Progress 4GL' iniciado por kikofr, Abril 12, 2010.

  1. kikofr

    kikofr Membro Participativo

    Bom dia,

    Estou com a seguinte dúvida. Sei como fazer a exportação de dados sair em excel, até aí tranquilo. Mas hoje veio um usuário me pedir se tinha como fazer para importar dados de arquivo excel (não pode ser usado CSV). Não sei se é possivel fazer isso, alguem tem alguma idéia? e/ou algum exemplo?

    Obrigado desde já.
  2. baltazar

    baltazar Membro Participativo

    Segue um exemplo do que pretende fazer. Espero que ajude.

    Código:
    def var chExcel as  com-handle.
    def var chLivro as  com-handle.
    def var chFolha as  com-handle.
    
    def var x-linha   as  int.
    def var x-posicao as  char.
    
    /*
    ----------------------
    ABRE A APLICAÇÃO EXCEL
    ----------------------
    */
    
    create "Excel.Application" chExcel no-error.
    
    if error-status:num-messages > 0 then do:
    
        message "Não foi possível abrir a aplicação Excel"
                view-as alert-box error.
    
        return.
    
    end.
    
    /*
    ---------------
    ESCONDE O EXCEL
    ---------------
    */
    
    chExcel:Visible = false.
    
    /*
    ---------------------
    ABRE O FICHEIRO EXCEL
    ---------------------
    */
    
    chLivro = chExcel:Workbooks:open("C:\Temp\Condição de Pagamento_FINAL.xlsx") no-error.
    
    if error-status:num-messages > 0 then do:
    
        message "Não foi possível abrir o livro"
                view-as alert-box error.
    
        return.
    
    end.
    
    /*
    ------------------
    SELECCIONA O LIVRO
    ------------------
    */
    
    chFolha = chLivro:Sheets:item(1).
    
    /* chFolha:UsedRange:Rows:count
    -> NÚMERO DE LINHAS DA FOLHA */
    
    /* -- */
    
    do x-linha = 2 to chFolha:UsedRange:Rows:count:
    
        x-posicao = chFolha:Range("A" + string(x-linha)):value.
    
        /* FIND */
    
        message x-posicao
            view-as alert-box error.
    
        /*
        
        
        ct_cdpag.ntr_idioma SPACE(1)
                    ct_cdpag.cp_cod SPACE(1)
                    ct_cdpag.cp_descr1 SPACE(1)
                    ct_cdpag.cp_descr2 SPACE(1)
                    ct_cdpag.cp_mtdcalc SPACE(1)
                    ct_cdpag.cp_diaspag SPACE(1)
                    ct_cdpag.cp_ndias[1] SPACE(1)
                    ct_cdpag.cp_desc[1] SPACE(1)
        */
        
            
      
    
    end.
    
    
    /*
    ----------------
    FAZ UM 'AUTOFIT'
    ----------------
    */
    
    /* ChFolha:Cells:EntireColumn:AutoFit. */
    
    /* METE O EXCEL VISIVEL */
    
    /* chExcel:visible = true. */
    
    /*
    =====================
    GRAVA, FECHA O LIVRO
    E O MS EXCEL
    =====================
    */
    
    chLivro:Save.
    chLivro:Close.
    chExcel:Quit.
    
    /*
    -------------------------------------
    FAZ UM RELEASE-OBJECT AOS COM-HANDLES
    -------------------------------------
    */
    
    release object chExcel.      
    release object chLivro.
    release object chFolha.
    
    /**/
    
    message "Concluido"
            view-as alert-box info title "Informação".
    

Compartilhe esta Página