INCLUDE : OLE2INCL.
DATA : EXCEL TYPE OLE2_OBJECT,
BOOKS TYPE OLE2_OBJECT,
BOOK TYPE OLE2_OBJECT,
SHEET TYPE OLE2_OBJECT,
CELL TYPE OLE2_OBJECT,
e_cell1 TYPE ole2_object,
e_cell2 TYPE ole2_object,
e_range TYPE ole2_object.
DATA: lv_cnt TYPE i,
lv_time1(32) TYPE c,
lv_vat(32) TYPE c,
lv_sum_amt(32) TYPE c,
lv_total_amt(32) TYPE c.
DATA: lv_deli(1) TYPE c value cl_bcs_convert=>gc_tab,
lv_rc TYPE i.
DATA: BEGIN OF ls_hex,
tab TYPE x,
END OF ls_hex.
FIELD-SYMBOLS: <fs> .
CONSTANTS: c_n_09(2) TYPE n VALUE 09.
TYPES: lv_data(9999) TYPE c,
ty TYPE TABLE OF lv_data.
DATA: lt_clip TYPE ty WITH HEADER LINE.
DATA: l_file LIKE rlgrap-filename.
CREATE OBJECT excel 'EXCEL.APPLICATION'.
CALL METHOD OF excel 'WORKBOOKS' = books.
SET PROPERTY OF excel 'Visible' = 1.
CALL METHOD OF books 'OPEN'
EXPORTING
#1 = l_file.
CALL METHOD OF excel 'Worksheets' = sheet
EXPORTING
#1 = 1.
CALL METHOD OF sheet 'Activate'.
lv_cnt = 4.
LOOP AT gt_alvmain.
lv_cnt = lv_cnt + 1.
*** 30개 컬럼 탭으로 붙이기
CONCATENATE gt_alvmain-posid
gt_alvmain-post1
INTO lt_clip
SEPARATED BY lv_deli.
*'00000000' -> ''.
REPLACE ALL OCCURRENCES OF '00000000' IN lt_clip WITH ''.
APPEND lt_clip.
CLEAR lt_clip.
ENDLOOP.
CALL METHOD cl_gui_frontend_services=>clipboard_export
IMPORTING
data = lt_clip[]
CHANGING
rc = lv_rc
EXCEPTIONS
cntl_error = 1
error_no_gui = 2
not_supported_by_gui = 3
OTHERS = 4.
CALL METHOD OF excel 'Cells' = e_cell1
EXPORTING
#1 = 5
#2 = 1.
CALL METHOD OF excel 'Cells' = e_cell2
EXPORTING
#1 = lv_cnt
#2 = 30.
CALL METHOD OF excel 'Range' = e_range
EXPORTING
#1 = e_cell1
#2 = e_cell2.
CALL METHOD OF e_range 'Select'.
CALL METHOD OF sheet 'Paste'.
***----------아래 방식은 속도가 느림
CALL METHOD OF excel 'CELLS' = cell
EXPORTING
#1 = 5
#2 = 1.
SET PROPERTY OF cell 'VALUE' = p_value.
'만사가귀찮아' 카테고리의 다른 글
ABAP Percentage Conversion Rule (0) | 2024.05.14 |
---|---|
ABAP TAB CRLF (0) | 2022.06.08 |
ALV Underline (1) | 2022.05.31 |
SAP HANA SQL WITH ROW_NUMBER (0) | 2022.03.25 |
Shadow Stack 비활성화(2021.10.31) (0) | 2021.10.31 |