PDA

Ver la Versión Completa : Dudas del WS_Excel


Drako
07/05/07, 17:49:56
Hola a todos, lo que pasa es que estoy usando la funcion de WS_EXCEL para descargar un reporte en una direccion local, pero al momento de descargarse el mismo programa de Excel se abre en eutomatico y yo no quiero que este se abra :confused: , ademas tambien quisiera que en el archivo se pusieran los titulos dentro del excel, agradeceria mucho sugerencias, saludos.:rolleyes:

Claudia Valdespino
08/05/07, 14:51:23
Hola Drako, para poner las cabeceras de las columnas al momento de descargar el archivo Excel puedes usar esta función: MS_EXCEL_OLE_STANDARD_DAT. Ahh!! es importante que los campos de tu tabla interna sean todos CHAR. Te paso una parte del código para que te guies ;)

*&---------------------------------------------------------------------*
*& Module f4_ruta INPUT
*&---------------------------------------------------------------------*
MODULE f4_ruta INPUT.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
static = 'X'
CHANGING
file_name = w_ruta
EXCEPTIONS
mask_too_long = 1
OTHERS = 2.
ENDMODULE. " f4_ruta INPUT

*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0200 INPUT
*&---------------------------------------------------------------------*
MODULE user_command_0200 INPUT.
CASE sy-ucomm.
WHEN 'XLS'.
IF NOT w_ruta IS INITIAL.
PERFORM cargar_cabecera.
PERFORM exportar_excel.
SET SCREEN 0.
LEAVE SCREEN.
ELSE.
MESSAGE i888 WITH 'Debe ingresar una ruta válida.'.
ENDIF.
WHEN 'EXIT'.
SET SCREEN 0.
LEAVE SCREEN.
ENDCASE.
ENDMODULE. " USER_COMMAND_0200 INPUT

*&---------------------------------------------------------------------*
*& Form cargar_cabecera
*&---------------------------------------------------------------------*
FORM cargar_cabecera .
* Completa las cabeceras para el archivo Excel
lt_fnames-text = 'Nivel'.
APPEND lt_fnames.
lt_fnames-text = 'Objeto'.
APPEND lt_fnames.
lt_fnames-text = 'Denominación del Proyecto'.
APPEND lt_fnames.
lt_fnames-text = 'Denominación del PEP'.
APPEND lt_fnames.

*&---------------------------------------------------------------------*
*& Form exportar_excel
*&---------------------------------------------------------------------*
FORM exportar_excel .
CALL FUNCTION 'MS_EXCEL_OLE_STANDARD_DAT'
EXPORTING
file_name = w_ruta
create_pivot = 0
TABLES
data_tab = gt_final
fieldnames = lt_fnames
EXCEPTIONS
file_not_exist = 1
filename_expected = 2
communication_error = 3
ole_object_method_error = 4
ole_object_property_error = 5
invalid_pivot_fields = 6
download_problem = 7
OTHERS = 8.

IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " exportar_excel

Suerte!!

Drako
08/05/07, 16:57:33
Gracias linda, es de mucha ayuda tu codigo... :D

Areli Sierra
02/10/08, 17:24:19
Hola Buen dia,

Estoy utilizando esta funcion para bajar la tabla interna a excel, genera automaticamente el excel, pero no me muestra las cabeceras, no se si me puedes ayudar, te lo agradeceria mucho.

Saludos

Drako
28/10/08, 21:48:40
Hola Buen dia,

Estoy utilizando esta funcion para bajar la tabla interna a excel, genera automaticamente el excel, pero no me muestra las cabeceras, no se si me puedes ayudar, te lo agradeceria mucho.

Saludos

Tendrias que agregarle manualmente las cabeceras en el 1er. registro de la tabla interna a utilizar para bajarse.