Shared Top Border

Enterprise Resource
Planning Portal

 

Advertise | Founder BLOG

ERPGenie.COM ABAP Tips and Tricks Database

THE ultimate
ERP website

 

Forums | Vote for us |

Google    Other Search Options

Login

Login to view more content!!!





Lost Password?
No account yet? Register

Registered Access

Poll

What area of ABAP are you interested in?
 
Home arrow Sample Code arrow ABAP Reports arrow Export data from Excel
Export data from Excel PDF Print E-mail
User Rating: / 0
PoorBest 
Written by Anon.   
Saturday, 20 January 2007
Export data from Excel REPORT ZEXCEL LINE-SIZE 170 LINE-COUNT 58
                  NO STANDARD PAGE HEADING.
 
    DATA: BEGIN OF TBXLS OCCURS 5,
            LINE         LIKE SY-TABIX,
            COLN         TYPE I,
            STRING(1024) TYPE C,
          END OF TBXLS,
 
          BEGIN OF TABXLS OCCURS 5,
            LINEA TYPE I,
            CODIGO(10) TYPE C,
            NUMLINEA TYPE I,
            TEXTO(80),
 
          END OF TABXLS.
 
    DATA: P_NCOLN TYPE I.
 
 * Ole objects declaration
 
    DATA: H_APPL  LIKE OBJ_RECORD,
          H_WORK  LIKE OBJ_RECORD,
          H_CELL  LIKE OBJ_RECORD.
 
    INCLUDE OLE2INCL.
 
    INCLUDE DOCSINCL.
 
    SELECTION-SCREEN  BEGIN OF BLOCK B0 WITH FRAME.
    PARAMETERS:     P_CAMI     LIKE RLGRAP-FILENAME. "Archivo Excel
    PARAMETERS:     P_NLINE    LIKE SY-INDEX. "Numero aproximado de lineas
    SELECTION-SCREEN END OF BLOCK B0.
 
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_CAMI.
 
      CALL FUNCTION 'WS_FILENAME_GET'
           EXPORTING
                DEF_FILENAME     = ' '
                DEF_PATH         = P_CAMI
                MASK             = ',*.xls.'
                MODE             = 'O'
                TITLE            = 'Archivo a importar'
           IMPORTING
                FILENAME         = P_CAMI
           EXCEPTIONS
                INV_WINSYS       = 01
                NO_BATCH         = 02
                SELECTION_CANCEL = 03
                SELECTION_ERROR  = 04.
 
 
    INITIALIZATION.
 
      P_CAMI = 'C:\PLANTILLAS.XLS'.
 
      IF P_NLINE IS INITIAL.
        P_NLINE = 1000.
      ENDIF.
 
 * Numero de columnas
      P_NCOLN = 4.
 
 
    START-OF-SELECTION.
 
      PERFORM PROCESSA_PLANILHA.
 
      PERFORM IMPRIMIR_PLANILHA.
 
      IF SY-SUBRC = 0.
 
      ENDIF.
 
 * Criar remessas de Exporta‡Æo.
 
    END-OF-SELECTION.
 
 
 
 *&---------------------------------------------------------------------*
 
 *&      Form  PROCESSA_PLANILHA
 
 *&---------------------------------------------------------------------*
 
    FORM PROCESSA_PLANILHA.
 
 * Start Excel
      IF H_APPL-HEADER = SPACE OR H_APPL-HANDLE = -1.
        CREATE OBJECT   H_APPL  'EXCEL.APPLICATION'.
        IF SY-SUBRC NE 0. MESSAGE I002(SY) WITH SY-MSGLI. ENDIF.
        SET PROPERTY OF H_APPL  'VISIBLE' = 0.
      ENDIF.
 
 * Open file
      CALL METHOD OF H_APPL 'WORKBOOKS' = H_WORK.
      CALL METHOD OF H_WORK 'OPEN' EXPORTING #1 = P_CAMI.
 
 * Ler dados da tabela Excel.
      PERFORM CAPTURAR_DADOS.
 
 * Release Excel
      CALL METHOD OF    H_APPL  'QUIT'.
      FREE OBJECT H_APPL.
      H_APPL-HANDLE = -1.
 
 * Se a primeira linha for comentarios (nome dos campos)
 * DELETE tbxls WHERE ( string = space ) OR
 *                    ( line = 1 ).
 
      SORT TBXLS BY LINE COLN.
      REFRESH TABXLS.
      CLEAR TABXLS.
      LOOP AT TBXLS.
        AT NEW LINE.
          CLEAR TABXLS.
        ENDAT.
 
        IF ( TBXLS-COLN = 1 ).
          MOVE TBXLS-STRING TO TABXLS-LINEA.
        ELSEIF ( TBXLS-COLN = 2 ).
          MOVE TBXLS-STRING TO TABXLS-CODIGO.
        ELSEIF ( TBXLS-COLN = 3 ).
          MOVE TBXLS-STRING TO TABXLS-NUMLINEA.
        ELSEIF ( TBXLS-COLN = 4 ).
          MOVE TBXLS-STRING TO TABXLS-TEXTO.
        ENDIF.
 
        AT END OF LINE.
          APPEND TABXLS.
        ENDAT.
      ENDLOOP.
 
    ENDFORM.                               " PROCESSA_PLANILHA
 
 *---------------------------------------------------------------------*
 *       FORM CAPTURAR_DADOS                                        *
 *---------------------------------------------------------------------*
 *       ........                                                   *
 *---------------------------------------------------------------------*
    FORM CAPTURAR_DADOS.
      DATA: EXCEL_LINE LIKE SY-INDEX,
            EXCEL_COLN LIKE SY-INDEX,
            CELL_VALUE(132) TYPE C.
 
      DO P_NLINE TIMES.
        EXCEL_LINE = SY-INDEX.
 
 * Display indicator
        DO P_NCOLN TIMES.
          EXCEL_COLN = SY-INDEX.
 * Get cell value data
          CALL METHOD OF   H_APPL 'CELLS' = H_CELL
                                          EXPORTING #1 = EXCEL_LINE
                                                    #2 = EXCEL_COLN.
          GET PROPERTY OF  H_CELL 'VALUE'      = CELL_VALUE.
          CLEAR: TBXLS.
          TBXLS-LINE   = EXCEL_LINE.
          TBXLS-COLN   = EXCEL_COLN.
          TBXLS-STRING = CELL_VALUE.
          APPEND TBXLS.
        ENDDO.
      ENDDO.
 
    ENDFORM.                               " Capturar_dados
 
 *&---------------------------------------------------------------------*
 *&      Form  IMPRIMIR_PLANILHA
 *&---------------------------------------------------------------------*
 
    FORM IMPRIMIR_PLANILHA.
 
      LOOP AT TABXLS.
        WRITE: / TABXLS-LINEA, TABXLS-CODIGO, TABXLS-NUMLINEA, TABXLS-TEXTO.
      ENDLOOP.
 
    ENDFORM.                               " IMPRIMIR_PLANILHA
 
< Prev   Next >

Google Search

Statistics

Contribution Activity
Utilities: 38
Tips and Tricks: 334
Sample Code: 166
Total Contributions: 553

Member Activity
Members: 6305 since 2/1/2007!
New: 0 since yesterday!
Visitors: 1167976
We have 3 guests online

Newest Members

Welcome our newest members:

Google Ads

Shared Bottom Border

Contact Us | Polls | Add URL | Contribute | Privacy | Terms | Feedback

Discussion Forum | BLOG | Consultants: Post your resume | Companies: Advertise on ERPGenie.COM | Post Job
Financials Consultant | Consultant Review | Gallia Consulting | Supply Chain Project | SAP Financials Forum
GenieHoldings.COM, Inc. | Genie Press | WorkflowGenie | ESAGenie | ERPTopSites | ABAP Tips and Tricks | SAP Solutions Database

EDIGenie | Searching Survivor