先把模板用SMW0存到系统中,名字为 ZLJC001.
*&---------------------------------------------------------------------*
*& Report ZLJC
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT zljc .
INCLUDE <icon>.
INCLUDE <symbol>.
INCLUDE z_alv_incl_001.
INCLUDE z_file_incl_001.
DATA : im_ifile TYPE ibipparms-path,
im_startrow TYPE i,
ex_tag TYPE zsubrc,
ex_msg TYPE zyxmsg.
DATA: gc_objid TYPE wwwdata-objid VALUE 'ZLJC001'.
DATA: ldf_filename TYPE text255,
ls_fieldcat TYPE zexcel_s_fieldcat,
lt_fieldcat TYPE zexcel_t_fieldcat.
DATA: ldf_count TYPE i,
ldf_row TYPE i.
TYPES: BEGIN OF ty_data,
matnr TYPE mara-matnr,
groes TYPE mara-groes,
END OF ty_data.
DATA: lt_data TYPE TABLE OF ty_data WITH HEADER LINE.
START-OF-SELECTION.
PERFORM prepare_file.
PERFORM frm_download_file.
* 打开文件
CALL FUNCTION 'ZEXCEL_START'
EXPORTING
filename = ldf_filename
IMPORTING
subrc = ex_tag
msg = ex_msg.
CHECK ex_tag = 0.
PERFORM prepare_data.
ldf_row = 2.
CALL FUNCTION 'ZEXCEL_FILL_ITAB'
EXPORTING
row = ldf_row
column = 2
fieldcat = lt_fieldcat
autoheader = 0
IMPORTING
subrc = ex_tag
msg = ex_msg
TABLES
itab = lt_data.
CALL FUNCTION 'ZEXCEL_END'
EXPORTING
visible = 0
saves = 1
close = 1
IMPORTING
subrc = ex_tag
msg = ex_msg.
IF EX_TAG IS INITIAL.
MESSAGE I000(26) WITH ' DOWNLOAD OK'.
ELSE.
MESSAGE I000(26) WITH ' DOWNLOAD ERROR'.
ENDIF.
*&---------------------------------------------------------------------*
*& Form PREPARE_FILE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM prepare_file .
DATA : lfiletable TYPE filetable.
DATA : ls_file TYPE file_table.
DATA : l_rc TYPE i.
CALL METHOD cl_gui_frontend_services=>file_open_dialog
EXPORTING
window_title = 'select open file'
default_extension = '*.XLS'
default_filename = 'LJC.XLS'
CHANGING
file_table = lfiletable
rc = l_rc
EXCEPTIONS
file_open_dialog_failed = 1
cntl_error = 2
error_no_gui = 3
not_supported_by_gui = 4
OTHERS = 5.
READ TABLE lfiletable INTO ls_file INDEX 1.
im_ifile = ls_file-filename.
MOVE im_ifile TO ldf_filename .
ENDFORM. " PREPARE_FILE
*&---------------------------------------------------------------------*
*& Form frm_download_file
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM frm_download_file .
CALL FUNCTION 'ZTOOL_FILE_DOWNLOAD_SMW0'
EXPORTING
objname = gc_objid
pathname = im_ifile
IMPORTING
filename = im_ifile
EXCEPTIONS
objname_not_exist = 1
inv_winsys = 2
no_batch = 3
selection_cancel = 4
selection_error = 5
download_false = 6
OTHERS = 7.
CASE sy-subrc.
WHEN 0.
WHEN 1.
WHEN 4.
WHEN 6.
WHEN OTHERS.
ENDCASE.
ENDFORM. " FRM_DOWNLOAD_FILE
*&---------------------------------------------------------------------*
*& Form PREPARE_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM prepare_data .
CLEAR: ls_fieldcat, lt_fieldcat, lt_fieldcat[].
ls_fieldcat-fname = 'MATNR'.
ls_fieldcat-coltext = '物料号'.
APPEND ls_fieldcat TO lt_fieldcat.
ls_fieldcat-fname = 'GROES'.
ls_fieldcat-coltext = '规格'.
APPEND ls_fieldcat TO lt_fieldcat.
CLEAR: lt_data,lt_data[].
SELECT matnr groes INTO TABLE lt_data FROM mara UP TO 10 ROWS.
ENDFORM. " PREPARE_DATA
DOWNLOAD FROM ITAB TO EXCEL
原创
©著作权归作者所有:来自51CTO博客作者precipitant的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:基于每个组件检查BOM递归
下一篇:面向OO ALV 一例
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
oVirt 4.5.5 安装问题总结-Failed to download metadata for repo
ovirt 'Failed to download metadata...'报错处理。
ovirt ovirt部署 ovirt部署报错 ovirt离线部署 ovirt暂停部署 -
How to download file from URL in java
摘要:在这篇文章中,我们将了解如何从java中的URL下载文件。当您想要
download file file java github apache