Exportar itab a excel en server

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • JaNick
    Junior Member
    • ene
    • 5

    #1

    Exportar itab a excel en server

    Buenas colegas, soy nuevo en el foro y trainee en mi empresa, la verdad recien empiezo con el lenguaje.
    Lo que me mandaron hacer es un programa de fondo que genere un excel en el server, lo que sucede es que queria saber si a este excel lo puedo hacer con lineas y colores, al reporte ya lo tengo hecho pero este me los genera en modo texto.

    Código:
    OPEN DATASET p_file IN TEXT MODE FOR OUTPUT ENCODING DEFAULT.
        LOOP AT it_archiv INTO wa_archiv.
          CONCATENATE wa_archiv-vbeln
                               wa_archiv-posnr
                               wa_archiv-vkorg   
                               " etc...
          INTO l_archiv SEPARATED BY cl_abap_char_utilities=>horizontal_tab.
          TRANSFER l_archiv TO p_file.
          CLEAR : l_archiv.
        ENDLOOP.
      CLOSE DATASET p_file.
    “Si aprendes sólo métodos estarás atado a tus métodos,
    pero si aprendes principios podrás desarrollar tus propios métodos” Emerson
  • aldape
    Senior Member
    • dic
    • 204

    #2
    Pues no creo que se pueda en abap...

    pero igual podrias intentar sacar un archivo HTML... y agregar tags como <b></b>....<a href = '' style='color=#33ff34'>.... etc... con puros concatenate..

    al final.... Excel tambien abre archivos html, incluso podrias cambiarle la extension a .xlsx o .xls y enviarselo a tus jefes que quieren que hagas milagros.

    Saludos

    Comentario

    • ballan
      Senior Member
      • oct
      • 671

      #3
      Yo veo mas facil que crees una macro de VBA en el excel que te lo formatee como tu quieras, poniendo colorines y lo que haga falta

      Luego una vez que has generado el excel puedes invocar a esa macro y que te haga el trabajo

      Para poder llamar a la Macro tendrias que poner algo mas o menos asi

      INCLUDE OLE2INCL.

      data: go_Excel type ole2_object.

      CREATE OBJECT go_Excel 'EXCEL.APPLICATION'.

      CALL METHOD OF go_Excel 'RUN'
      EXPORTING #1 = "NombredelaMacro".

      Comentario

      • JaNick
        Junior Member
        • ene
        • 5

        #4
        Mucha gracias por sus ayuda chicos.
        Estuve buscando info en la web acerca el tema y varios decian que es imposible hacer que un reporte se ejecute de fondo y este genere un archivo excel en server.

        Lo mas cercano que pude hacer es lo siguiente, hacer que me guarde un archivo txt separa por ';' puntos y comas de tipo de formato de archivo CSV.
        Lo cual lo descargo del server a la pc con trx CG3Y, le doy dbclick al archivo y me lo habre con el excel sin tirar ningun tipo de cartel, sobre error de formato.

        Código:
        OPEN DATASET p_file IN TEXT MODE FOR OUTPUT ENCODING DEFAULT.
            IF SY-SUBRC EQ 0
                CONCATENATE p_file '.csv' INTO p_file.
                LOOP AT it_archiv INTO wa_archiv.
                    CONCATENATE wa_archiv-vbeln
                                         wa_archiv-posnr
                                         wa_archiv-vkorg   
                                         " etc...
                    INTO l_archiv SEPARATED BY ';'.
                    TRANSFER l_archiv TO p_file.
                    CLEAR : l_archiv.
                ENDLOOP.
                CLOSE DATASET p_file.
            ENDIF.
        “Si aprendes sólo métodos estarás atado a tus métodos,
        pero si aprendes principios podrás desarrollar tus propios métodos” Emerson

        Comentario

        Trabajando...