diff --git a/ZA2X/CLAS/ZCL_EXCEL_WORKSHEET.slnk b/ZA2X/CLAS/ZCL_EXCEL_WORKSHEET.slnk index 9de89a6..0a78ffe 100644 --- a/ZA2X/CLAS/ZCL_EXCEL_WORKSHEET.slnk +++ b/ZA2X/CLAS/ZCL_EXCEL_WORKSHEET.slnk @@ -3,236 +3,231 @@ - *----------------------------------------------------------------------* -* CLASS ZCL_EXCEL_WORKSHEET DEFINITIO -*----------------------------------------------------------------------* -* -*----------------------------------------------------------------------* -CLASS zcl_excel_worksheet DEFINITION - PUBLIC - FINAL - CREATE PUBLIC . + class ZCL_EXCEL_WORKSHEET definition + public + final + create public . *"* public components of class ZCL_EXCEL_WORKSHEET *"* do not include other source files here!!! - PUBLIC SECTION. - TYPE-POOLS abap . +public section. + type-pools ABAP . - INTERFACES zif_excel_sheet_properties . - INTERFACES zif_excel_sheet_protection . - INTERFACES zif_excel_sheet_vba_project . + interfaces ZIF_EXCEL_SHEET_PROPERTIES . + interfaces ZIF_EXCEL_SHEET_PROTECTION . + interfaces ZIF_EXCEL_SHEET_VBA_PROJECT . - CONSTANTS c_break_column TYPE zexcel_break VALUE 2. "#EC NOTEXT - CONSTANTS c_break_none TYPE zexcel_break VALUE 0. "#EC NOTEXT - CONSTANTS c_break_row TYPE zexcel_break VALUE 1. "#EC NOTEXT - CONSTANTS c_sheet_state_hidden TYPE zexcel_sheet_state VALUE 'hidden'. "#EC NOTEXT - CONSTANTS c_sheet_state_veryhidden TYPE zexcel_sheet_state VALUE 'veryHidden'. "#EC NOTEXT - CONSTANTS c_sheet_state_visible TYPE zexcel_sheet_state VALUE 'visible'. "#EC NOTEXT - DATA print_gridlines TYPE zexcel_print_gridlines READ-ONLY VALUE abap_false. "#EC NOTEXT . - DATA sheet_content TYPE zexcel_t_cell_data . - DATA sheet_content_merge TYPE zexcel_t_cell_data_unsorted . - DATA sheet_setup TYPE REF TO zcl_excel_sheet_setup . - DATA sheet_state TYPE zexcel_sheet_state . - DATA show_gridlines TYPE zexcel_show_gridlines READ-ONLY VALUE abap_true. "#EC NOTEXT . - DATA show_rowcolheaders TYPE zexcel_show_gridlines READ-ONLY VALUE abap_true. "#EC NOTEXT . - DATA styles TYPE zexcel_t_sheet_style . + constants C_BREAK_COLUMN type ZEXCEL_BREAK value 2. "#EC NOTEXT + constants C_BREAK_NONE type ZEXCEL_BREAK value 0. "#EC NOTEXT + constants C_BREAK_ROW type ZEXCEL_BREAK value 1. "#EC NOTEXT + constants C_SHEET_STATE_HIDDEN type ZEXCEL_SHEET_STATE value 'hidden'. "#EC NOTEXT + constants C_SHEET_STATE_VERYHIDDEN type ZEXCEL_SHEET_STATE value 'veryHidden'. "#EC NOTEXT + constants C_SHEET_STATE_VISIBLE type ZEXCEL_SHEET_STATE value 'visible'. "#EC NOTEXT + data PRINT_GRIDLINES type ZEXCEL_PRINT_GRIDLINES read-only value ABAP_FALSE. "#EC NOTEXT . + data SHEET_CONTENT type ZEXCEL_T_CELL_DATA . + data SHEET_CONTENT_MERGE type ZEXCEL_T_CELL_DATA_UNSORTED . + data SHEET_SETUP type ref to ZCL_EXCEL_SHEET_SETUP . + data SHEET_STATE type ZEXCEL_SHEET_STATE . + data SHOW_GRIDLINES type ZEXCEL_SHOW_GRIDLINES read-only value ABAP_TRUE. "#EC NOTEXT . + data SHOW_ROWCOLHEADERS type ZEXCEL_SHOW_GRIDLINES read-only value ABAP_TRUE. "#EC NOTEXT . + data STYLES type ZEXCEL_T_SHEET_STYLE . - METHODS add_drawing - IMPORTING - !ip_drawing TYPE REF TO zcl_excel_drawing . - METHODS add_new_conditional_style - RETURNING - value(eo_conditional_style) TYPE REF TO zcl_excel_style_conditional . - METHODS add_new_data_validation - RETURNING - value(eo_data_validation) TYPE REF TO zcl_excel_data_validation . - METHODS bind_alv - IMPORTING - !io_alv TYPE REF TO object - !it_table TYPE STANDARD TABLE - !i_top TYPE i DEFAULT 1 - !i_left TYPE i DEFAULT 1 - !table_style TYPE zexcel_table_style OPTIONAL - RAISING - zcx_excel . - TYPE-POOLS slis . - TYPE-POOLS soi . - METHODS bind_alv_ole2 - IMPORTING - !i_document_url TYPE char255 DEFAULT space - !i_xls TYPE c DEFAULT space - !i_save_path TYPE string - !io_alv TYPE REF TO cl_gui_alv_grid - !it_listheader TYPE slis_t_listheader OPTIONAL - !i_top TYPE i DEFAULT 1 - !i_left TYPE i DEFAULT 1 - !i_columns_header TYPE c DEFAULT 'X' - !i_columns_autofit TYPE c DEFAULT 'X' - !i_format_col_header TYPE soi_format_item OPTIONAL - !i_format_subtotal TYPE soi_format_item OPTIONAL - !i_format_total TYPE soi_format_item OPTIONAL - EXCEPTIONS - miss_guide - ex_transfer_kkblo_error - fatal_error - inv_data_range - dim_mismatch_vkey - dim_mismatch_sema - error_in_sema . - METHODS bind_table - IMPORTING - !ip_table TYPE STANDARD TABLE - !it_field_catalog TYPE zexcel_t_fieldcatalog OPTIONAL - !is_table_settings TYPE zexcel_s_table_settings OPTIONAL - EXPORTING - !es_table_settings TYPE zexcel_s_table_settings . - METHODS calculate_column_widths . - METHODS constructor - IMPORTING - !ip_excel TYPE REF TO zcl_excel - !ip_title TYPE zexcel_sheet_title OPTIONAL . - METHODS delete_merge . - METHODS freeze_panes - IMPORTING - !ip_num_columns TYPE i OPTIONAL - !ip_num_rows TYPE i OPTIONAL - RAISING - zcx_excel . - METHODS get_active_cell - RETURNING - value(ep_active_cell) TYPE string . - METHODS get_cell - IMPORTING - !ip_column TYPE zexcel_cell_column_alpha - !ip_row TYPE zexcel_cell_row - EXPORTING - !ep_value TYPE zexcel_cell_value - !ep_rc TYPE sysubrc - !ep_style TYPE REF TO zcl_excel_style . - METHODS get_column_dimension - IMPORTING - !ip_column TYPE zexcel_cell_column_alpha - RETURNING - value(r_column_dimension) TYPE REF TO zcl_excel_worksheet_columndime . - METHODS get_column_dimensions - RETURNING - value(r_column_dimension) TYPE zexcel_t_worksheet_columndime . - METHODS get_cond_styles_iterator - RETURNING - value(eo_iterator) TYPE REF TO cl_object_collection_iterator . - METHODS get_data_validations_iterator - RETURNING - value(eo_iterator) TYPE REF TO cl_object_collection_iterator . - METHODS get_data_validations_size - RETURNING - value(ep_size) TYPE i . - METHODS get_default_column_dimension - RETURNING - value(r_column_dimension) TYPE REF TO zcl_excel_worksheet_columndime . - METHODS get_default_excel_date_format - RETURNING - value(ep_default_excel_date_format) TYPE zexcel_number_format . - METHODS get_default_row_dimension - RETURNING - value(r_row_dimension) TYPE REF TO zcl_excel_worksheet_rowdimensi . - METHODS get_dimension_range - RETURNING - value(ep_dimension_range) TYPE string . - METHODS get_drawings - RETURNING - value(r_drawings) TYPE REF TO zcl_excel_drawings . - METHODS get_drawings_iterator - RETURNING - value(eo_iterator) TYPE REF TO cl_object_collection_iterator . - METHODS get_freeze_cell - EXPORTING - !ep_row TYPE zexcel_cell_row - !ep_column TYPE zexcel_cell_column . - METHODS get_guid - RETURNING - value(ep_guid) TYPE oltpguid16 . - METHODS get_highest_column - RETURNING - value(r_highest_column) TYPE zexcel_cell_column . - METHODS get_highest_row - RETURNING - value(r_highest_row) TYPE int4 . - METHODS get_hyperlinks_iterator - RETURNING - value(eo_iterator) TYPE REF TO cl_object_collection_iterator . - METHODS get_hyperlinks_size - RETURNING - value(ep_size) TYPE i . - METHODS get_merge - RETURNING - value(merge_range) TYPE string_table . - METHODS get_row_dimension - IMPORTING - !ip_row TYPE int4 - RETURNING - value(r_row_dimension) TYPE REF TO zcl_excel_worksheet_rowdimensi . - METHODS get_row_dimensions - RETURNING - value(r_row_dimension) TYPE zexcel_t_worksheet_rowdimensio . - METHODS get_tables_iterator - RETURNING - value(eo_iterator) TYPE REF TO cl_object_collection_iterator . - METHODS get_tables_size - RETURNING - value(ep_size) TYPE i . - METHODS get_title - IMPORTING - !ip_escaped TYPE flag DEFAULT '' - RETURNING - value(ep_title) TYPE zexcel_sheet_title . - METHODS set_cell - IMPORTING - !ip_column TYPE zexcel_cell_column_alpha - !ip_row TYPE zexcel_cell_row - !ip_value TYPE simple OPTIONAL - !ip_formula TYPE zexcel_cell_formula OPTIONAL - !ip_style TYPE zexcel_cell_style OPTIONAL - !ip_hyperlink TYPE REF TO zcl_excel_hyperlink OPTIONAL - !ip_data_type TYPE zexcel_cell_data_type OPTIONAL - !ip_abap_type TYPE abap_typekind OPTIONAL - RAISING - zcx_excel . - METHODS set_cell_style - IMPORTING - !ip_column TYPE zexcel_cell_column_alpha - !ip_row TYPE zexcel_cell_row - !ip_style TYPE zexcel_cell_style - RAISING - zcx_excel . - METHODS set_default_excel_date_format - IMPORTING - !ip_default_excel_date_format TYPE zexcel_number_format . - METHODS set_merge - IMPORTING - !ip_column_start TYPE zexcel_cell_column_alpha OPTIONAL - !ip_column_end TYPE zexcel_cell_column_alpha OPTIONAL - !ip_row TYPE zexcel_cell_row OPTIONAL - !ip_row_to TYPE zexcel_cell_row OPTIONAL . - METHODS set_print_gridlines - IMPORTING - !i_print_gridlines TYPE zexcel_print_gridlines . - METHODS set_show_gridlines - IMPORTING - !i_show_gridlines TYPE zexcel_show_gridlines . - METHODS set_table - IMPORTING - !ip_table TYPE STANDARD TABLE - !ip_hdr_style TYPE zexcel_cell_style OPTIONAL - !ip_body_style TYPE zexcel_cell_style OPTIONAL - !ip_table_title TYPE string - !ip_top_left_column TYPE zexcel_cell_column_alpha DEFAULT 'B' - !ip_top_left_row TYPE zexcel_cell_row DEFAULT 3 . - METHODS set_title - IMPORTING - !ip_title TYPE zexcel_sheet_title . - METHODS set_show_rowcolheaders - IMPORTING - !i_show_rowcolheaders TYPE zexcel_show_rowcolheader . + methods ADD_DRAWING + importing + !IP_DRAWING type ref to ZCL_EXCEL_DRAWING . + methods ADD_NEW_CONDITIONAL_STYLE + returning + value(EO_CONDITIONAL_STYLE) type ref to ZCL_EXCEL_STYLE_CONDITIONAL . + methods ADD_NEW_DATA_VALIDATION + returning + value(EO_DATA_VALIDATION) type ref to ZCL_EXCEL_DATA_VALIDATION . + methods BIND_ALV + importing + !IO_ALV type ref to OBJECT + !IT_TABLE type STANDARD TABLE + !I_TOP type I default 1 + !I_LEFT type I default 1 + !TABLE_STYLE type ZEXCEL_TABLE_STYLE optional + raising + ZCX_EXCEL . + type-pools SLIS . + type-pools SOI . + methods BIND_ALV_OLE2 + importing + !I_DOCUMENT_URL type CHAR255 default SPACE + !I_XLS type C default SPACE + !I_SAVE_PATH type STRING + !IO_ALV type ref to CL_GUI_ALV_GRID + !IT_LISTHEADER type SLIS_T_LISTHEADER optional + !I_TOP type I default 1 + !I_LEFT type I default 1 + !I_COLUMNS_HEADER type C default 'X' + !I_COLUMNS_AUTOFIT type C default 'X' + !I_FORMAT_COL_HEADER type SOI_FORMAT_ITEM optional + !I_FORMAT_SUBTOTAL type SOI_FORMAT_ITEM optional + !I_FORMAT_TOTAL type SOI_FORMAT_ITEM optional + exceptions + MISS_GUIDE + EX_TRANSFER_KKBLO_ERROR + FATAL_ERROR + INV_DATA_RANGE + DIM_MISMATCH_VKEY + DIM_MISMATCH_SEMA + ERROR_IN_SEMA . + methods BIND_TABLE + importing + !IP_TABLE type STANDARD TABLE + !IT_FIELD_CATALOG type ZEXCEL_T_FIELDCATALOG optional + !IS_TABLE_SETTINGS type ZEXCEL_S_TABLE_SETTINGS optional + exporting + !ES_TABLE_SETTINGS type ZEXCEL_S_TABLE_SETTINGS . + methods CALCULATE_COLUMN_WIDTHS . + methods CONSTRUCTOR + importing + !IP_EXCEL type ref to ZCL_EXCEL + !IP_TITLE type ZEXCEL_SHEET_TITLE optional . + methods DELETE_MERGE . + methods FREEZE_PANES + importing + !IP_NUM_COLUMNS type I optional + !IP_NUM_ROWS type I optional + raising + ZCX_EXCEL . + methods GET_ACTIVE_CELL + returning + value(EP_ACTIVE_CELL) type STRING . + methods GET_CELL + importing + !IP_COLUMN type ZEXCEL_CELL_COLUMN_ALPHA + !IP_ROW type ZEXCEL_CELL_ROW + exporting + !EP_VALUE type ZEXCEL_CELL_VALUE + !EP_RC type SYSUBRC + !EP_STYLE type ref to ZCL_EXCEL_STYLE . + methods GET_COLUMN_DIMENSION + importing + !IP_COLUMN type ZEXCEL_CELL_COLUMN_ALPHA + returning + value(R_COLUMN_DIMENSION) type ref to ZCL_EXCEL_WORKSHEET_COLUMNDIME . + methods GET_COLUMN_DIMENSIONS + returning + value(R_COLUMN_DIMENSION) type ZEXCEL_T_WORKSHEET_COLUMNDIME . + methods GET_COND_STYLES_ITERATOR + returning + value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR . + methods GET_DATA_VALIDATIONS_ITERATOR + returning + value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR . + methods GET_DATA_VALIDATIONS_SIZE + returning + value(EP_SIZE) type I . + methods GET_DEFAULT_COLUMN_DIMENSION + returning + value(R_COLUMN_DIMENSION) type ref to ZCL_EXCEL_WORKSHEET_COLUMNDIME . + methods GET_DEFAULT_EXCEL_DATE_FORMAT + returning + value(EP_DEFAULT_EXCEL_DATE_FORMAT) type ZEXCEL_NUMBER_FORMAT . + methods GET_DEFAULT_ROW_DIMENSION + returning + value(R_ROW_DIMENSION) type ref to ZCL_EXCEL_WORKSHEET_ROWDIMENSI . + methods GET_DIMENSION_RANGE + returning + value(EP_DIMENSION_RANGE) type STRING . + methods GET_DRAWINGS + returning + value(R_DRAWINGS) type ref to ZCL_EXCEL_DRAWINGS . + methods GET_DRAWINGS_ITERATOR + returning + value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR . + methods GET_FREEZE_CELL + exporting + !EP_ROW type ZEXCEL_CELL_ROW + !EP_COLUMN type ZEXCEL_CELL_COLUMN . + methods GET_GUID + returning + value(EP_GUID) type OLTPGUID16 . + methods GET_HIGHEST_COLUMN + returning + value(R_HIGHEST_COLUMN) type ZEXCEL_CELL_COLUMN . + methods GET_HIGHEST_ROW + returning + value(R_HIGHEST_ROW) type INT4 . + methods GET_HYPERLINKS_ITERATOR + returning + value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR . + methods GET_HYPERLINKS_SIZE + returning + value(EP_SIZE) type I . + methods GET_MERGE + returning + value(MERGE_RANGE) type STRING_TABLE . + methods GET_ROW_DIMENSION + importing + !IP_ROW type INT4 + returning + value(R_ROW_DIMENSION) type ref to ZCL_EXCEL_WORKSHEET_ROWDIMENSI . + methods GET_ROW_DIMENSIONS + returning + value(R_ROW_DIMENSION) type ZEXCEL_T_WORKSHEET_ROWDIMENSIO . + methods GET_TABLES_ITERATOR + returning + value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR . + methods GET_TABLES_SIZE + returning + value(EP_SIZE) type I . + methods GET_TITLE + importing + !IP_ESCAPED type FLAG default '' + returning + value(EP_TITLE) type ZEXCEL_SHEET_TITLE . + methods SET_CELL + importing + !IP_COLUMN type ZEXCEL_CELL_COLUMN_ALPHA + !IP_ROW type ZEXCEL_CELL_ROW + !IP_VALUE type SIMPLE optional + !IP_FORMULA type ZEXCEL_CELL_FORMULA optional + !IP_STYLE type ZEXCEL_CELL_STYLE optional + !IP_HYPERLINK type ref to ZCL_EXCEL_HYPERLINK optional + !IP_DATA_TYPE type ZEXCEL_CELL_DATA_TYPE optional + !IP_ABAP_TYPE type ABAP_TYPEKIND optional + raising + ZCX_EXCEL . + methods SET_CELL_STYLE + importing + !IP_COLUMN type ZEXCEL_CELL_COLUMN_ALPHA + !IP_ROW type ZEXCEL_CELL_ROW + !IP_STYLE type ZEXCEL_CELL_STYLE + raising + ZCX_EXCEL . + methods SET_DEFAULT_EXCEL_DATE_FORMAT + importing + !IP_DEFAULT_EXCEL_DATE_FORMAT type ZEXCEL_NUMBER_FORMAT . + methods SET_MERGE + importing + !IP_COLUMN_START type ZEXCEL_CELL_COLUMN_ALPHA optional + !IP_COLUMN_END type ZEXCEL_CELL_COLUMN_ALPHA optional + !IP_ROW type ZEXCEL_CELL_ROW optional + !IP_ROW_TO type ZEXCEL_CELL_ROW optional . + methods SET_PRINT_GRIDLINES + importing + !I_PRINT_GRIDLINES type ZEXCEL_PRINT_GRIDLINES . + methods SET_SHOW_GRIDLINES + importing + !I_SHOW_GRIDLINES type ZEXCEL_SHOW_GRIDLINES . + methods SET_TABLE + importing + !IP_TABLE type STANDARD TABLE + !IP_HDR_STYLE type ZEXCEL_CELL_STYLE optional + !IP_BODY_STYLE type ZEXCEL_CELL_STYLE optional + !IP_TABLE_TITLE type STRING + !IP_TOP_LEFT_COLUMN type ZEXCEL_CELL_COLUMN_ALPHA default 'B' + !IP_TOP_LEFT_ROW type ZEXCEL_CELL_ROW default 3 . + methods SET_TITLE + importing + !IP_TITLE type ZEXCEL_SHEET_TITLE . + methods SET_SHOW_ROWCOLHEADERS + importing + !I_SHOW_ROWCOLHEADERS type ZEXCEL_SHOW_ROWCOLHEADER . *"* protected components of class ZCL_EXCEL_WORKSHEET *"* do not include other source files here!!! protected section. @@ -429,12 +424,12 @@ endclass. - - - - - - + + + + + + @@ -446,15 +441,15 @@ endclass. - + - - - - - - - + + + + + + + @@ -518,34 +513,34 @@ endmethod. me->zif_excel_sheet_vba_project~codename_pr = ip_codename_pr. endmethod. - - + + method ADD_DRAWING. drawings->add( ip_drawing ). endmethod. - - + + method ADD_NEW_CONDITIONAL_STYLE. CREATE OBJECT eo_conditional_style. conditional_styles->add( eo_conditional_style ). endmethod. - - + + method ADD_NEW_DATA_VALIDATION. CREATE OBJECT eo_data_validation. data_validations->add( eo_data_validation ). endmethod. - - - - - - + + + + + + method BIND_ALV. data: lo_converter type ref to zcl_excel_converter. @@ -569,19 +564,19 @@ endmethod. endmethod. - - - - - - - - - - - - - + + + + + + + + + + + + + @@ -2658,11 +2653,11 @@ endmethod. close_document. endmethod. - - - - - + + + + + method BIND_TABLE. DATA: @@ -2832,7 +2827,7 @@ endmethod. endmethod. - + method CALCULATE_COLUMN_WIDTHS. TYPES: BEGIN OF t_auto_size, @@ -2904,9 +2899,9 @@ endmethod. endmethod. - - - + + + METHOD constructor. DATA: lv_title TYPE zexcel_sheet_title. @@ -2947,7 +2942,7 @@ endmethod. ENDMETHOD. - + method DELETE_MERGE. DELETE sheet_content_merge INDEX 1. @@ -2955,9 +2950,9 @@ ENDMETHOD. endmethod. - - - + + + method FREEZE_PANES. data: lv_xsplit type i, @@ -2985,8 +2980,8 @@ endmethod. freeze_pane_cell_row = ip_num_rows + 1. endmethod. - - + + method GET_ACTIVE_CELL. DATA: lv_active_column TYPE zexcel_cell_column_alpha, @@ -3000,12 +2995,12 @@ endmethod. endmethod. - - - - - - + + + + + + method GET_CELL. DATA: lv_column TYPE zexcel_cell_column, @@ -3036,9 +3031,9 @@ endmethod. ENDIF. endmethod. - - - + + + method GET_COLUMN_DIMENSION. FIELD-SYMBOLS: <fs_column_dimension> LIKE LINE OF column_dimensions. @@ -3058,40 +3053,40 @@ endmethod. endmethod. - - + + method GET_COLUMN_DIMENSIONS. r_column_dimension[] = me->column_dimensions[]. endmethod. - - + + method GET_COND_STYLES_ITERATOR. eo_iterator = me->conditional_styles->get_iterator( ). endmethod. - - + + method GET_DATA_VALIDATIONS_ITERATOR. eo_iterator = me->data_validations->get_iterator( ). endmethod. - - + + method GET_DATA_VALIDATIONS_SIZE. ep_size = me->data_validations->size( ). endmethod. - - + + method GET_DEFAULT_COLUMN_DIMENSION. r_column_dimension = me->default_column_dimension. endmethod. - - + + method GET_DEFAULT_EXCEL_DATE_FORMAT. CONSTANTS: c_lang_e TYPE lang VALUE 'E'. @@ -3116,14 +3111,14 @@ endmethod. ep_default_excel_date_format = default_excel_date_format. endmethod. - - + + method GET_DEFAULT_ROW_DIMENSION. r_row_dimension = me->default_row_dimension. endmethod. - - + + method GET_DIMENSION_RANGE. me->update_dimension_range( ). @@ -3140,62 +3135,62 @@ endmethod. endmethod. - - + + method GET_DRAWINGS. r_drawings = drawings. endmethod. - - + + method GET_DRAWINGS_ITERATOR. eo_iterator = drawings->get_iterator( ). endmethod. - - - + + + method GET_FREEZE_CELL. ep_row = me->freeze_pane_cell_row. ep_column = me->freeze_pane_cell_column. endmethod. - - + + method GET_GUID. ep_guid = me->guid. endmethod. - - + + method GET_HIGHEST_COLUMN. me->update_dimension_range( ). r_highest_column = me->lower_cell-cell_column. endmethod. - - + + method GET_HIGHEST_ROW. me->update_dimension_range( ). r_highest_row = me->lower_cell-cell_row. endmethod. - - + + method GET_HYPERLINKS_ITERATOR. eo_iterator = hyperlinks->get_iterator( ). endmethod. - - + + method GET_HYPERLINKS_SIZE. ep_size = hyperlinks->size( ). endmethod. - - + + method GET_MERGE. DATA: lv_column_start TYPE string, @@ -3269,9 +3264,9 @@ endmethod. endmethod. - - - + + + method GET_ROW_DIMENSION. FIELD-SYMBOLS: <fs_row_dimension> LIKE LINE OF row_dimensions. @@ -3291,27 +3286,27 @@ endmethod. endmethod. - - + + method GET_ROW_DIMENSIONS. r_row_dimension[] = me->row_dimensions[]. endmethod. - - + + method GET_TABLES_ITERATOR. eo_iterator = tables->if_object_collection~get_iterator( ). endmethod. - - + + method GET_TABLES_SIZE. ep_size = tables->if_object_collection~size( ). endmethod. - - - + + + method GET_TITLE. DATA lv_value TYPE string. IF ip_escaped EQ abap_true. @@ -3378,15 +3373,15 @@ endmethod. ENDMETHOD. - - - - - - - - - + + + + + + + + + METHOD set_cell. @@ -3398,15 +3393,20 @@ ENDMETHOD. lv_value_type TYPE abap_typekind, lo_style TYPE REF TO zcl_excel_style, lv_style_guid TYPE zexcel_cell_style, - lo_value TYPE REF TO data. + lo_addit TYPE REF TO cl_abap_elemdescr, + lo_value TYPE REF TO data, + lo_value_new TYPE REF TO data. FIELD-SYMBOLS: <fs_sheet_content> TYPE zexcel_s_cell_data, + <fs_numeric> TYPE numeric, + <fs_date> TYPE d, + <fs_time> TYPE t, <fs_value> TYPE simple. IF ip_value IS NOT SUPPLIED AND ip_formula IS NOT SUPPLIED. RAISE EXCEPTION TYPE zcx_excel EXPORTING - error = 'Pleas provide the value or formula'. + error = 'Please provide the value or formula'. ENDIF. lv_style_guid = ip_style. @@ -3421,8 +3421,8 @@ ENDMETHOD. IF ip_data_type IS SUPPLIED. IF ip_abap_type IS NOT SUPPLIED. get_value_type( EXPORTING ip_value = ip_value - IMPORTING ep_value = <fs_value> ). - endif. + IMPORTING ep_value = <fs_value> ) . + ENDIF. lv_value = <fs_value>. lv_data_type = ip_data_type. ELSE. @@ -3434,17 +3434,36 @@ ENDMETHOD. ep_value_type = lv_value_type ). ENDIF. CASE lv_value_type. - WHEN cl_abap_typedescr=>typekind_int OR cl_abap_typedescr=>typekind_int1 OR cl_abap_typedescr=>typekind_int2 OR - cl_abap_typedescr=>typekind_float OR cl_abap_typedescr=>typekind_packed. - lv_value = zcl_excel_common=>number_to_excel_string( ip_value = <fs_value> ). + WHEN cl_abap_typedescr=>typekind_int OR cl_abap_typedescr=>typekind_int1 OR cl_abap_typedescr=>typekind_int2. + lo_addit = cl_abap_elemdescr=>get_i( ). + CREATE DATA lo_value_new TYPE HANDLE lo_addit. + ASSIGN lo_value_new->* TO <fs_numeric>. + IF sy-subrc = 0. + <fs_numeric> = <fs_value>. + lv_value = zcl_excel_common=>number_to_excel_string( ip_value = <fs_numeric> ). + ENDIF. + + WHEN cl_abap_typedescr=>typekind_float OR cl_abap_typedescr=>typekind_packed. + lo_addit = cl_abap_elemdescr=>get_f( ). + CREATE DATA lo_value_new TYPE HANDLE lo_addit. + ASSIGN lo_value_new->* TO <fs_numeric>. + IF sy-subrc = 0. + <fs_numeric> = <fs_value>. + lv_value = zcl_excel_common=>number_to_excel_string( ip_value = <fs_numeric> ). + ENDIF. WHEN cl_abap_typedescr=>typekind_char OR cl_abap_typedescr=>typekind_string OR cl_abap_typedescr=>typekind_num. lv_value = <fs_value>. lv_data_type = 's'. WHEN cl_abap_typedescr=>typekind_date. - lv_value = zcl_excel_common=>date_to_excel_string( ip_value = <fs_value> ). - + lo_addit = cl_abap_elemdescr=>get_d( ). + CREATE DATA lo_value_new TYPE HANDLE lo_addit. + ASSIGN lo_value_new->* TO <fs_date>. + IF sy-subrc = 0. + <fs_date> = <fs_value>. + lv_value = zcl_excel_common=>date_to_excel_string( ip_value = <fs_date> ) . + ENDIF. IF ip_style IS NOT SUPPLIED. "get default date format in case parameter is initial lo_style = excel->add_new_style( ). lo_style->number_format->format_code = get_default_excel_date_format( ). @@ -3452,8 +3471,13 @@ ENDMETHOD. ENDIF. WHEN cl_abap_typedescr=>typekind_time. - lv_value = zcl_excel_common=>time_to_excel_string( ip_value = <fs_value> ). - + lo_addit = cl_abap_elemdescr=>get_t( ). + CREATE DATA lo_value_new TYPE HANDLE lo_addit. + ASSIGN lo_value_new->* TO <fs_time>. + IF sy-subrc = 0. + <fs_time> = <fs_value>. + lv_value = zcl_excel_common=>time_to_excel_string( ip_value = <fs_time> ). + ENDIF. IF ip_style IS NOT SUPPLIED. "get default time format for user in case parameter is initial lo_style = excel->add_new_style( ). lo_style->number_format->format_code = zcl_excel_style_number_format=>c_format_date_time6. @@ -3505,10 +3529,10 @@ ENDMETHOD. ENDMETHOD. - - - - + + + + method SET_CELL_STYLE. @@ -3535,8 +3559,8 @@ ENDMETHOD. endmethod. - - + + method SET_DEFAULT_EXCEL_DATE_FORMAT. IF ip_default_excel_date_format IS INITIAL. @@ -3548,11 +3572,11 @@ endmethod. default_excel_date_format = ip_default_excel_date_format. endmethod. - - - - - + + + + + method SET_MERGE. DATA: lv_column_start TYPE zexcel_cell_column, @@ -3589,31 +3613,31 @@ endmethod. endmethod. - - + + method SET_PRINT_GRIDLINES. me->print_gridlines = i_print_gridlines. endmethod. - - + + method SET_SHOW_GRIDLINES. me->show_gridlines = i_show_gridlines. endmethod. - - + + method SET_SHOW_ROWCOLHEADERS. me->show_rowcolheaders = i_show_rowcolheaders. endmethod. - - - - - - - + + + + + + + method SET_TABLE. DATA: lo_tabdescr TYPE REF TO cl_abap_structdescr, @@ -3670,8 +3694,8 @@ endmethod. endmethod. - - + + method SET_TITLE. me->title = ip_title. endmethod.