Upload & Download internal table to excel

上传Excel文件到SAP内表

REPORT z_upload_excel.

TYPE-POOLS: truxs.

TYPES: BEGIN OF t_datatab,
col1(30) TYPE c,
col2(30) TYPE c,
col3(30) TYPE c,
END OF t_datatab.

DATA: it_datatab TYPE STANDARD TABLE OF t_datatab,
wa_datatab TYPE t_datatab.

DATA: it_raw TYPE truxs_t_text_data.

PARAMETERS: p_file TYPE rlgrap-filename.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.

CALL FUNCTION 'F4_FILENAME'
EXPORTING
field_name = 'P_FILE'
IMPORTING
file_name = p_file.

START-OF-SELECTION.

CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
i_line_header = 'X'
i_tab_raw_data = it_raw " WORK TABLE
i_filename = p_file
TABLES
i_tab_converted_data = it_datatab[] "ACTUAL DATA
EXCEPTIONS
conversion_failed = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

LOOP AT it_datatab INTO wa_datatab.
WRITE:/ wa_datatab-col1,
wa_datatab-col2,
wa_datatab-col3.
ENDLOOP.

如果excel中1个单元格内容的长度可能有1000以上或更多,
就把alsm_excel_to_internal_table copy出来,然后copy
一个intern所参考 的structure,把value的长度改为4096.

Excel格式下载内表到本机

report z_export_excel.

PARAMETERS: p_file LIKE rlgrap-filename DEFAULT 'C:test4.xls'.

DATA: t100_lines TYPE STANDARD TABLE OF t001 WITH HEADER LINE.

t100_lines-mandt = '200'.
t100_lines-bukrs = '公司'.
t100_lines-butxt = '公司代码'.
t100_lines-ort01 = '公司代码'.
APPEND t100_lines.

SELECT * FROM t001 APPENDING TABLE t100_lines.

CALL FUNCTION 'SAP_CONVERT_TO_XLS_FORMAT'
EXPORTING
i_filename = p_file
TABLES
i_tab_sap_data = t100_lines.

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/90072/viewspace-1017939/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/90072/viewspace-1017939/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值