From 9ca303b3c1780b493853fd2d9f2005fd7e5ecf4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Schm=C3=B6cker?= Date: Mon, 2 Apr 2012 14:10:16 +0000 Subject: [PATCH] Issue #155 - less strict typing of parameters. This time: ip_column set from ZEXCEL_CELL_COLUMN_ALPHA to SIMPLE git-svn-id: https://subversion.assembla.com/svn/abap2xlsx/trunk@290 b7d68dce-7c3c-4a99-8ce0-9ea847f5d049 --- ZA2X/CLAS/ZCL_EXCEL_COMMON.slnk | 154 +++---- ZA2X/CLAS/ZCL_EXCEL_HYPERLINK.slnk | 87 ++-- ZA2X/CLAS/ZCL_EXCEL_WORKSHEET.slnk | 668 +++++++++++++++-------------- 3 files changed, 458 insertions(+), 451 deletions(-) diff --git a/ZA2X/CLAS/ZCL_EXCEL_COMMON.slnk b/ZA2X/CLAS/ZCL_EXCEL_COMMON.slnk index 661dcf2..5a40f28 100644 --- a/ZA2X/CLAS/ZCL_EXCEL_COMMON.slnk +++ b/ZA2X/CLAS/ZCL_EXCEL_COMMON.slnk @@ -1,5 +1,6 @@ - + + class ZCL_EXCEL_COMMON definition public final @@ -18,9 +19,11 @@ public section. class-methods CONVERT_COLUMN2ALPHA importing - !IP_COLUMN type ZEXCEL_CELL_COLUMN + !IP_COLUMN type SIMPLE returning - value(EP_COLUMN) type ZEXCEL_CELL_COLUMN_ALPHA . + value(EP_COLUMN) type ZEXCEL_CELL_COLUMN_ALPHA + raising + ZCX_EXCEL . class-methods CONVERT_COLUMN2INT importing !IP_COLUMN type SIMPLE @@ -127,16 +130,16 @@ protected section. *"* implementation or private method's signature *"* use this source file for any macro definitions you need *"* in the implementation part of the class - - - - - - - - - - + + + + + + + + + + method CHAR2HEX. IF o_conv IS NOT BOUND. @@ -151,18 +154,19 @@ protected section. endmethod. - - - - method CONVERT_COLUMN2ALPHA. + + + + + METHOD convert_column2alpha. DATA: lo_conv TYPE REF TO cl_abap_conv_in_ce, lv_uccpi TYPE i, lv_text TYPE sychar02, lv_module TYPE int4, lv_column TYPE zexcel_cell_column. - - lv_column = ip_column. +* Propagate zcx_excel if error occurs " issue #155 - less restrictive typing for ip_column + lv_column = convert_column2int( ip_column ). " issue #155 - less restrictive typing for ip_column WHILE lv_column GT 0. lv_module = ( lv_column - 1 ) MOD 26. lv_uccpi = 65 + lv_module. @@ -173,13 +177,13 @@ endmethod. CONCATENATE lv_text ep_column INTO ep_column. ENDWHILE. -endmethod. +ENDMETHOD. - - - - - METHOD convert_column2int. + + + + + method CONVERT_COLUMN2INT. DATA: lv_uccpi TYPE i, lv_factor TYPE i, @@ -251,12 +255,12 @@ endmethod. ENDIF. ep_column = 26 * ep_column + mod. -ENDMETHOD. +endmethod. - - - - + + + + method CONVERT_COLUMNROW2COLUMN_A_ROW. DATA: width TYPE i, col_width TYPE i, @@ -275,13 +279,13 @@ ENDMETHOD. e_row = row_str. endmethod. - - - - - - - + + + + + + + method CONVERT_RANGE2COLUMN_A_ROW. DATA: sheet TYPE string, @@ -320,9 +324,9 @@ endmethod. ). endmethod. - - - + + + method DATE_TO_EXCEL_STRING. DATA: lv_date_diff TYPE i. @@ -331,9 +335,9 @@ endmethod. ep_value = zcl_excel_common=>number_to_excel_string( ip_value = lv_date_diff ). endmethod. - - - + + + method ENCRYPT_PASSWORD. DATA lv_curr_offset TYPE i. @@ -373,9 +377,9 @@ endmethod. endmethod. - - - + + + method ESCAPE_STRING. DATA lv_value TYPE string. @@ -391,9 +395,9 @@ endmethod. endmethod. - - - + + + method EXCEL_STRING_TO_DATE. DATA: lv_date_int TYPE i. @@ -405,9 +409,9 @@ endmethod. ENDTRY. endmethod. - - - + + + method EXCEL_STRING_TO_TIME. DATA: lv_seconds_in_day TYPE i, lv_day_fraction TYPE f, @@ -425,9 +429,9 @@ lc_seconds_in_day TYPE i VALUE 86400. ENDTRY. endmethod. - - - + + + method GET_FIELDCATALOG. DATA: lr_data TYPE REF TO data, @@ -478,9 +482,9 @@ endmethod. endmethod. - - - + + + method NUMBER_TO_EXCEL_STRING. DATA: lv_value_c TYPE c LENGTH 100. @@ -497,10 +501,10 @@ endmethod. ENDIF. endmethod. - - - - + + + + method RECURSIVE_CLASS_TO_STRUCT. " # issue 139 * is working for me - but after looking through this coding I guess @@ -556,10 +560,10 @@ endmethod. endmethod. - - - - + + + + method RECURSIVE_STRUCT_TO_CLASS. " # issue 139 * is working for me - but after looking through this coding I guess @@ -616,9 +620,9 @@ endmethod. endmethod. - - - + + + method SHL01. DATA: @@ -636,9 +640,9 @@ endmethod. endmethod. - - - + + + method SHR14. DATA: @@ -663,9 +667,9 @@ endmethod. endmethod. - - - + + + method TIME_TO_EXCEL_STRING. DATA: lv_seconds_in_day TYPE i, lv_day_fraction TYPE f, diff --git a/ZA2X/CLAS/ZCL_EXCEL_HYPERLINK.slnk b/ZA2X/CLAS/ZCL_EXCEL_HYPERLINK.slnk index e9a632f..d25f621 100644 --- a/ZA2X/CLAS/ZCL_EXCEL_HYPERLINK.slnk +++ b/ZA2X/CLAS/ZCL_EXCEL_HYPERLINK.slnk @@ -1,5 +1,6 @@ - - + + + class ZCL_EXCEL_HYPERLINK definition public final @@ -25,8 +26,10 @@ public section. value(EV_RET) type ABAP_BOOL . methods SET_CELL_REFERENCE importing - !IP_COLUMN type ZEXCEL_CELL_COLUMN_ALPHA - !IP_ROW type ZEXCEL_CELL_ROW . + !IP_COLUMN type SIMPLE + !IP_ROW type ZEXCEL_CELL_ROW + raising + ZCX_EXCEL . methods GET_REF returning value(EV_REF) type STRING . @@ -60,19 +63,17 @@ private section. *"* implementation or private method's signature *"* use this source file for any macro definitions you need *"* in the implementation part of the class - - ABAP - - - - - - - - - + + + + + + + + + method CREATE. data: lo_hyperlink type REF TO zcl_excel_hyperlink. @@ -83,57 +84,51 @@ private section. ov_link = lo_hyperlink. endmethod. - - - - - METHOD create_external_link. + + + + method CREATE_EXTERNAL_LINK. ov_link = zcl_excel_hyperlink=>create( iv_url = iv_url iv_internal = abap_false ). -ENDMETHOD. - +endmethod. - - - - METHOD create_internal_link. + + + + method CREATE_INTERNAL_LINK. ov_link = zcl_excel_hyperlink=>create( iv_url = iv_location iv_internal = abap_true ). -ENDMETHOD. - +endmethod. - - - METHOD get_ref. + + + method GET_REF. ev_ref = row. CONDENSE ev_ref. CONCATENATE column ev_ref INTO ev_ref. -ENDMETHOD. - +endmethod. - - + + method GET_URL. ev_url = me->location. endmethod. - - - + + method IS_INTERNAL. ev_ret = me->internal. endmethod. - - - - - METHOD set_cell_reference. - me->column = ip_column. + + + + + method SET_CELL_REFERENCE. + me->column = zcl_excel_common=>convert_column2alpha( ip_column ). " issue #155 - less restrictive typing for ip_column me->row = ip_row. -ENDMETHOD. - +endmethod. diff --git a/ZA2X/CLAS/ZCL_EXCEL_WORKSHEET.slnk b/ZA2X/CLAS/ZCL_EXCEL_WORKSHEET.slnk index dea9bff..ae6fd5a 100644 --- a/ZA2X/CLAS/ZCL_EXCEL_WORKSHEET.slnk +++ b/ZA2X/CLAS/ZCL_EXCEL_WORKSHEET.slnk @@ -1,24 +1,17 @@ - - - - - - - - - - - - - + + + + + + class ZCL_EXCEL_WORKSHEET definition public final create public . -public section. *"* public components of class ZCL_EXCEL_WORKSHEET *"* do not include other source files here!!! +public section. type-pools ABAP . interfaces ZIF_EXCEL_SHEET_PROPERTIES . @@ -92,7 +85,7 @@ public section. methods CALCULATE_COLUMN_WIDTHS . methods CHANGE_CELL_STYLE importing - !IP_COLUMN type ZEXCEL_CELL_COLUMN_ALPHA + !IP_COLUMN type SIMPLE !IP_ROW type ZEXCEL_CELL_ROW !IP_COMPLETE type ZEXCEL_S_CSTYLE_COMPLETE optional !IP_XCOMPLETE type ZEXCEL_S_CSTYLEX_COMPLETE optional @@ -212,18 +205,22 @@ public section. value(EP_ACTIVE_CELL) type STRING . methods GET_CELL importing - !IP_COLUMN type ZEXCEL_CELL_COLUMN_ALPHA + !IP_COLUMN type SIMPLE !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 - !EP_GUID type ZEXCEL_CELL_STYLE . + !EP_GUID type ZEXCEL_CELL_STYLE + raising + ZCX_EXCEL . methods GET_COLUMN_DIMENSION importing - !IP_COLUMN type ZEXCEL_CELL_COLUMN_ALPHA + !IP_COLUMN type SIMPLE returning - value(R_COLUMN_DIMENSION) type ref to ZCL_EXCEL_WORKSHEET_COLUMNDIME . + value(R_COLUMN_DIMENSION) type ref to ZCL_EXCEL_WORKSHEET_COLUMNDIME + raising + ZCX_EXCEL . methods GET_COLUMN_DIMENSIONS returning value(R_COLUMN_DIMENSION) type ZEXCEL_T_WORKSHEET_COLUMNDIME . @@ -297,7 +294,7 @@ public section. value(EP_TITLE) type ZEXCEL_SHEET_TITLE . methods SET_CELL importing - !IP_COLUMN type ZEXCEL_CELL_COLUMN_ALPHA + !IP_COLUMN type SIMPLE !IP_ROW type ZEXCEL_CELL_ROW !IP_VALUE type SIMPLE optional !IP_FORMULA type ZEXCEL_CELL_FORMULA optional @@ -309,7 +306,7 @@ public section. ZCX_EXCEL . methods SET_CELL_STYLE importing - !IP_COLUMN type ZEXCEL_CELL_COLUMN_ALPHA + !IP_COLUMN type SIMPLE !IP_ROW type ZEXCEL_CELL_ROW !IP_STYLE type ZEXCEL_CELL_STYLE raising @@ -348,9 +345,9 @@ public section. *"* protected components of class ZCL_EXCEL_WORKSHEET *"* do not include other source files here!!! protected section. - private section. -*"* private components of class ZCL_EXCEL_WORKSHEET + *"* private components of class ZCL_EXCEL_WORKSHEET *"* do not include other source files here!!! +private section. data ACTIVE_CELL type ZEXCEL_S_CELL_DATA . data COLUMN_DIMENSIONS type ZEXCEL_T_WORKSHEET_COLUMNDIME . @@ -373,10 +370,12 @@ protected section. methods CALCULATE_CELL_WIDTH importing - !IP_COLUMN type ZEXCEL_CELL_COLUMN_ALPHA + !IP_COLUMN type SIMPLE !IP_ROW type ZEXCEL_CELL_ROW returning - value(EP_WIDTH) type I . + value(EP_WIDTH) type I + raising + ZCX_EXCEL . methods GENERATE_TITLE returning value(EP_TITLE) type ZEXCEL_SHEET_TITLE . @@ -547,38 +546,38 @@ endclass. ABAP SLIS SOI - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + method ZIF_EXCEL_SHEET_PROPERTIES~GET_STYLE. ep_style = zif_excel_sheet_properties~style. @@ -639,35 +638,35 @@ 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. @@ -690,26 +689,26 @@ endmethod. endmethod. - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + method BIND_ALV_OLE2. *--------------------------------------------------------------------* * Method description: @@ -2279,8 +2278,8 @@ endmethod. set country space. * Hier wird nur die korrekte Kommaseparatierung gemacht, wenn die * Zeichen einer -* Zahl enthalten sind. Das ist f#ƒÂ#r Timestamps, die auch ":" enthalten. -* F#ƒÂ#r die +* Zahl enthalten sind. Das ist f#ƒÂ#r Timestamps, die auch ":" enthalten. +* F#ƒÂ#r die * darf keine Kommaseparierung stattfinden. * Changing for correction request - Y6BK041073 if contentsitem-value co '0123456789.,-+E '. @@ -2779,11 +2778,11 @@ endmethod. close_document. endmethod. - - - - - + + + + + method BIND_TABLE. DATA: @@ -2953,11 +2952,12 @@ endmethod. endmethod. - - - - - method CALCULATE_CELL_WIDTH. + + + + + + METHOD calculate_cell_width. DATA: cell_value TYPE zexcel_cell_value, guid TYPE zexcel_cell_style, stylemapping TYPE zexcel_s_stylemapping. @@ -2979,9 +2979,9 @@ endmethod. ep_width = ep_width * stylemapping-complete_style-font-size / 11. ENDIF. -endmethod. +ENDMETHOD. - + method CALCULATE_COLUMN_WIDTHS. TYPES: BEGIN OF t_auto_size, @@ -2995,7 +2995,7 @@ endmethod. DATA: auto_size TYPE flag. DATA: auto_sizes TYPE tt_auto_size. - DATA: col_alpha TYPE zexcel_cell_column_alpha. +* DATA: col_alpha TYPE zexcel_cell_column_alpha." issue #155 - less restrictive typing for ip_column DATA: cell_value TYPE zexcel_cell_value. DATA: cell_style TYPE REF TO zcl_excel_style. DATA: count TYPE int4. @@ -3019,7 +3019,7 @@ endmethod. IF NOT auto_sizes IS INITIAL. highest_row = me->get_highest_row( ). LOOP AT auto_sizes ASSIGNING <auto_size>. - col_alpha = zcl_excel_common=>convert_column2alpha( <auto_size>-col_index ). +* col_alpha = zcl_excel_common=>convert_column2alpha( <auto_size>-col_index )." issue #155 - less restrictive typing for ip_column count = 1. WHILE count <= highest_row. * Start of change # issue 139 - Dateretention of cellstyles @@ -3036,13 +3036,14 @@ endmethod. * ). * " For an easy start we just take the number of characters as the width * width = strlen( cell_value ). -* " Addition to solve issue #120, contribution by Stefan Schm#ƒÂ#cker +* " Addition to solve issue #120, contribution by Stefan Schm#ƒÂ#cker * " Calculate width using Font Size and Font Type * IF cell_style IS BOUND * AND cell_style->font IS BOUND. * width = cell_style->font->calculate_text_width( cell_value ). * ENDIF. - width = calculate_cell_width( ip_column = col_alpha +* width = calculate_cell_width( ip_column = col_alpha " issue #155 - less restrictive typing for ip_column + width = calculate_cell_width( ip_column = <auto_size>-col_index " issue #155 - less restrictive typing for ip_column ip_row = count ). * End of change # issue 139 - Dateretention of cellstyles IF width > <auto_size>-width. @@ -3050,114 +3051,115 @@ endmethod. ENDIF. count = count + 1. ENDWHILE. - column_dimension = me->get_column_dimension( col_alpha ). +* column_dimension = me->get_column_dimension( col_alpha ). " issue #155 - less restrictive typing for ip_column + column_dimension = me->get_column_dimension( <auto_size>-col_index ). " issue #155 - less restrictive typing for ip_column column_dimension->set_width( <auto_size>-width ). ENDLOOP. ENDIF. endmethod. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + method CHANGE_CELL_STYLE. " issue # 139 DATA: stylemapping TYPE zexcel_s_stylemapping, @@ -3455,10 +3457,10 @@ endmethod. endmethod. - - - - + + + + method CONSTRUCTOR. DATA: lv_title TYPE zexcel_sheet_title. @@ -3500,7 +3502,7 @@ endmethod. endmethod. - + method DELETE_MERGE. DELETE sheet_content_merge INDEX 1. @@ -3508,10 +3510,10 @@ endmethod. endmethod. - - - - + + + + method FREEZE_PANES. data: lv_xsplit type i, lv_ysplit type i. @@ -3538,9 +3540,9 @@ endmethod. freeze_pane_cell_row = ip_num_rows + 1. endmethod. - - - METHOD generate_title. + + + method GENERATE_TITLE. DATA: lo_worksheets_iterator TYPE REF TO cl_object_collection_iterator, lo_worksheet TYPE REF TO zcl_excel_worksheet, errormessage TYPE string. @@ -3571,10 +3573,10 @@ endmethod. ADD 1 TO sheetnumber. ENDDO. -ENDMETHOD. +endmethod. - - + + method GET_ACTIVE_CELL. DATA: lv_active_column TYPE zexcel_cell_column_alpha, @@ -3588,13 +3590,14 @@ ENDMETHOD. endmethod. - - - - - - - + + + + + + + + method GET_CELL. DATA: lv_column TYPE zexcel_cell_column, @@ -3611,7 +3614,7 @@ endmethod. ep_value = ls_sheet_content-cell_value. ep_guid = ls_sheet_content-cell_style. " issue 139 - added this to be used for columnwidth calculation - " Addition to solve issue #120, contribution by Stefan Schm#ƒÂ#cker + " Addition to solve issue #120, contribution by Stefan Schm#ƒÂ#cker DATA: style_iterator TYPE REF TO cl_object_collection_iterator, style TYPE REF TO zcl_excel_style. IF ep_style IS REQUESTED. @@ -3626,21 +3629,24 @@ endmethod. ENDIF. endmethod. - - - + + + + method GET_COLUMN_DIMENSION. FIELD-SYMBOLS: <fs_column_dimension> LIKE LINE OF column_dimensions. + data: lv_column_alpha type ZEXCEL_CELL_COLUMN_ALPHA. " issue #155 - less restrictive typing for ip_column + lv_column_alpha = zcl_excel_common=>convert_column2alpha( ip_column )." issue #155 - less restrictive typing for ip_column READ TABLE me->column_dimensions ASSIGNING <fs_column_dimension> - WITH KEY column = ip_column. + WITH KEY column = lv_column_alpha. " issue #155 - less restrictive typing for ip_column IF NOT <fs_column_dimension> IS ASSIGNED. CREATE OBJECT r_column_dimension EXPORTING - ip_index = ip_column. + ip_index = lv_column_alpha. " issue #155 - less restrictive typing for ip_column APPEND INITIAL LINE TO me->column_dimensions ASSIGNING <fs_column_dimension>. - <fs_column_dimension>-column = ip_column. + <fs_column_dimension>-column = lv_column_alpha. " issue #155 - less restrictive typing for ip_column <fs_column_dimension>-column_dimension = r_column_dimension. ELSE. r_column_dimension = <fs_column_dimension>-column_dimension. @@ -3648,40 +3654,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'. @@ -3706,14 +3712,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( ). @@ -3730,62 +3736,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, @@ -3859,9 +3865,9 @@ endmethod. endmethod. - - - + + + method GET_ROW_DIMENSION. FIELD-SYMBOLS: <fs_row_dimension> LIKE LINE OF row_dimensions. @@ -3881,27 +3887,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. @@ -3912,10 +3918,10 @@ endmethod. ENDIF. endmethod. - - - - + + + + method GET_VALUE_TYPE. DATA: lo_addit TYPE REF TO cl_abap_elemdescr, ls_dfies TYPE dfies, @@ -3969,21 +3975,22 @@ endmethod. endmethod. - - - - - - - - - - + + + + + + + + + + method SET_CELL. DATA: lv_column TYPE zexcel_cell_column, ls_sheet_content TYPE zexcel_s_cell_data, lv_row_alpha TYPE string, + lv_col_alpha TYPE ZEXCEL_CELL_COLUMN_ALPHA, lv_value TYPE zexcel_cell_value, lv_data_type TYPE zexcel_cell_data_type, lv_value_type TYPE abap_typekind, @@ -4138,7 +4145,8 @@ endmethod. * SHIFT lv_row_alpha RIGHT DELETING TRAILING space."del #152 - replaced with condense - should be faster * SHIFT lv_row_alpha LEFT DELETING LEADING space. "del #152 - replaced with condense - should be faster CONDENSE lv_row_alpha NO-GAPS. "ins #152 - replaced 2 shifts - should be faster - CONCATENATE ip_column lv_row_alpha INTO ls_sheet_content-cell_coords. + lv_col_alpha = zcl_excel_common=>CONVERT_COLUMN2ALPHA( ip_column ). " issue #155 - less restrictive typing for ip_column + CONCATENATE lv_col_alpha lv_row_alpha INTO ls_sheet_content-cell_coords. " issue #155 - less restrictive typing for ip_column INSERT ls_sheet_content INTO TABLE sheet_content ASSIGNING <fs_sheet_content>. "ins #152 - Now <fs_sheet_content> always holds the data * APPEND ls_sheet_content TO sheet_content. * SORT sheet_content BY cell_row cell_column. @@ -4188,11 +4196,11 @@ endmethod. endmethod. - - - - - + + + + + method SET_CELL_STYLE. DATA: lv_column TYPE zexcel_cell_column, @@ -4218,8 +4226,8 @@ endmethod. endmethod. - - + + method SET_DEFAULT_EXCEL_DATE_FORMAT. IF ip_default_excel_date_format IS INITIAL. @@ -4231,11 +4239,11 @@ endmethod. default_excel_date_format = ip_default_excel_date_format. endmethod. - - - - - + + + + + method SET_MERGE. DATA: lv_column_start TYPE zexcel_cell_column, @@ -4272,31 +4280,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, @@ -4353,9 +4361,9 @@ endmethod. endmethod. - - - + + + method SET_TITLE. DATA: lo_worksheets_iterator TYPE REF TO cl_object_collection_iterator, lo_worksheet TYPE REF TO zcl_excel_worksheet, @@ -4389,7 +4397,7 @@ endmethod. me->title = ip_title. endmethod. - + method UPDATE_DIMENSION_RANGE. DATA: ls_sheet_content TYPE zexcel_s_cell_data,