|
| 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. |
0 commit comments