Skip to content

Commit d6b61ac

Browse files
committed
update
1 parent 475355c commit d6b61ac

File tree

2 files changed

+97
-0
lines changed

2 files changed

+97
-0
lines changed
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
CLASS z2ui5_dbl_cl_xlsx_wrapper DEFINITION
2+
PUBLIC
3+
FINAL
4+
CREATE PUBLIC .
5+
6+
PUBLIC SECTION.
7+
8+
TYPES ty_t_xlsx TYPE zexcel_t_fieldcatalog.
9+
TYPES ty_s_xlsx_settings TYPE zexcel_s_table_settings.
10+
11+
CLASS-METHODS get_table_by_xlsx
12+
IMPORTING
13+
val TYPE xstring
14+
RETURNING
15+
VALUE(result) TYPE REF TO data.
16+
17+
CLASS-METHODS get_xlsx_by_table
18+
IMPORTING
19+
val TYPE any
20+
RETURNING
21+
VALUE(result) TYPE xstring.
22+
23+
PROTECTED SECTION.
24+
PRIVATE SECTION.
25+
ENDCLASS.
26+
27+
28+
29+
CLASS z2ui5_dbl_cl_xlsx_wrapper IMPLEMENTATION.
30+
31+
32+
METHOD get_xlsx_by_table.
33+
34+
DATA: lo_excel TYPE REF TO zcl_excel,
35+
lo_writer TYPE REF TO zif_excel_writer,
36+
lo_worksheet TYPE REF TO zcl_excel_worksheet.
37+
38+
DATA: lt_field_catalog TYPE zexcel_t_fieldcatalog,
39+
ls_table_settings TYPE zexcel_s_table_settings.
40+
41+
42+
" Creates active sheet
43+
CREATE OBJECT lo_excel.
44+
45+
" Get active sheet
46+
lo_worksheet = lo_excel->get_active_worksheet( ).
47+
lo_worksheet->set_title( 'Internal table' ).
48+
49+
lt_field_catalog = zcl_excel_common=>get_fieldcatalog( ip_table = val ).
50+
51+
ls_table_settings-table_style = zcl_excel_table=>builtinstyle_medium5.
52+
53+
lo_worksheet->bind_table( ip_table = val
54+
is_table_settings = ls_table_settings
55+
it_field_catalog = lt_field_catalog ).
56+
57+
lo_worksheet->freeze_panes( ip_num_rows = 1 ).
58+
59+
CREATE OBJECT lo_writer TYPE zcl_excel_writer_2007.
60+
result = lo_writer->write_file( lo_excel ).
61+
62+
63+
ENDMETHOD.
64+
65+
METHOD get_table_by_xlsx.
66+
67+
DATA: lo_excel TYPE REF TO zcl_excel,
68+
lo_reader TYPE REF TO zif_excel_reader,
69+
lo_worksheet TYPE REF TO zcl_excel_worksheet.
70+
71+
CREATE OBJECT lo_reader TYPE zcl_excel_reader_2007.
72+
lo_excel = lo_reader->load( val ).
73+
lo_worksheet = lo_excel->get_worksheet_by_index( 1 ).
74+
lo_worksheet->convert_to_table(
75+
IMPORTING
76+
er_data = result
77+
).
78+
79+
ENDMETHOD.
80+
81+
ENDCLASS.
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
3+
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
4+
<asx:values>
5+
<VSEOCLASS>
6+
<CLSNAME>Z2UI5_DBL_CL_XLSX_WRAPPER</CLSNAME>
7+
<LANGU>E</LANGU>
8+
<DESCRIPT>xlsx wrapper</DESCRIPT>
9+
<STATE>1</STATE>
10+
<CLSCCINCL>X</CLSCCINCL>
11+
<FIXPT>X</FIXPT>
12+
<UNICODE>X</UNICODE>
13+
</VSEOCLASS>
14+
</asx:values>
15+
</asx:abap>
16+
</abapGit>

0 commit comments

Comments
 (0)