Importar Dados de Uma Planilha(xls) para o Progress

Discussão em 'Progress 4GL' iniciado por eriutoncharles, Fevereiro 10, 2010.

  1. eriutoncharles

    eriutoncharles Membro Participativo

    Boa Tarde Prezados,

    Estou precisando importar os dados de uma planilha para o Progress, tenho uma planilha do excel com 24 mil itens de produtos, e estou precisando importar isso para o progress. São 3 Colunas, Códígo, referencia e Descrição.

    Como Faço pra importar isso para o Banco ?

    Alguem poderia me dar uma dica bem simples?

    Grato,
    Eriuton Charles
  2. LeandroSantos

    LeandroSantos Membro Participativo

  3. ricardo.resende

    ricardo.resende Sem Pontuação

    Ai.........

    Código:
    DEFINE VARIABLE v-chr-excel-application AS COM-HANDLE NO-UNDO.
    DEFINE VARIABLE v-chr-work-book         AS COM-HANDLE NO-UNDO.
    DEFINE VARIABLE v-chr-work-sheet        AS COM-HANDLE NO-UNDO.
    
    DEFINE VARIABLE v-chr-range             AS CHARACTER  NO-UNDO.
    DEFINE VARIABLE v-int-line              AS INTEGER    NO-UNDO INITIAL 1.
    DEFINE VARIABLE v-int-ultimalinha       AS INTEGER    NO-UNDO.
    
    DEFINE VARIABLE v-coluna-a AS CHARACTER FORMAT "X(20)".
    DEFINE VARIABLE v-coluna-b AS CHARACTER FORMAT "X(20)".
    DEFINE VARIABLE v-coluna-c AS CHARACTER FORMAT "X(20)".
    
    create 'excel.application':U v-chr-excel-application.
     
    v-chr-excel-application:Visible = TRUE.
    
    ASSIGN 
           v-chr-work-book   = v-chr-excel-application:Workbooks:Open("c:\temp\TESTE.xls")
           v-chr-work-sheet  = v-chr-excel-application:Sheets:Item(1)
           v-int-ultimalinha = v-chr-excel-application:Activesheet:Usedrange:Rows:Count.
    
    DO v-int-line = 1  TO v-int-ultimalinha:
       
       ASSIGN v-cd-coluna-a = v-chr-work-sheet:Range('A':U + STRING(v-int-line)):VALUE
                   v-cd-coluna-b = v-chr-work-sheet:Range('B':U + STRING(v-int-line)):VALUE
                   v-cd-coluna-c = v-chr-work-sheet:Range('C':U + STRING(v-int-line)):VALUE.
        /*create na sua tabela*/
    END.
     
    v-chr-excel-application:Workbooks:Application:Quit.
    
    RELEASE OBJECT v-chr-excel-application NO-ERROR. 
    RELEASE OBJECT v-chr-work-sheet        NO-ERROR.
    RELEASE OBJECT v-chr-work-book         NO-ERROR.
    
    
  4. eriutoncharles

    eriutoncharles Membro Participativo

    Queridos,

    Foi mais fácil que imaginava.
    A Planilha tinham 3 colunas, item ,código e descrição

    Salvei como csv.
    Código:
    def temp-table tmp
    field iten   as cha
    field codigo as cha
    field descircao as char form "X(60)"
    field preo as dec.
    
    
    input from c:\planilha.csv.
    Repeat.  create tmp. import delimiter ";" tmp no-error. end.
    input close.
    
    for each tmp. 
    disp tmp. 
    end.
    
  5. ricardo.resende

    ricardo.resende Sem Pontuação

    Isso pq você está trabalhando com arquivos csv e não xls

    abs
  6. eriutoncharles

    eriutoncharles Membro Participativo

    Ops.. Exatamente.. estava procurando a forma mais fácil de fazer. Como Disse "Salvei Como" Csv e ficou fácil.

    Obrigado a Todos
    Sds,
    Eriuton Charles

Compartilhe esta Página