diff --git a/ZA2X/CLAS/ZCL_EXCEL_WORKSHEET.slnk b/ZA2X/CLAS/ZCL_EXCEL_WORKSHEET.slnk index a84c149..55280d0 100644 --- a/ZA2X/CLAS/ZCL_EXCEL_WORKSHEET.slnk +++ b/ZA2X/CLAS/ZCL_EXCEL_WORKSHEET.slnk @@ -2582,7 +2582,7 @@ endmethod. - method BIND_TABLE. + METHOD bind_table. *--------------------------------------------------------------------* * issue #230 - Pimp my Code * - Stefan Schmöcker, (wi p) 2012-12-01 @@ -2757,15 +2757,29 @@ endmethod. LOOP AT ip_table ASSIGNING <fs_table_line>. ASSIGN COMPONENT <ls_field_catalog>-fieldname OF STRUCTURE <fs_table_line> TO <fs_fldval>. - IF <ls_field_catalog>-style IS NOT INITIAL. - me->set_cell( ip_column = lv_column_alpha - ip_row = lv_row_int - ip_value = <fs_fldval> - ip_style = <ls_field_catalog>-style ). + " issue #290 Add formula support in table + IF <ls_field_catalog>-formula EQ abap_true. + IF <ls_field_catalog>-style IS NOT INITIAL. + me->set_cell( ip_column = lv_column_alpha + ip_row = lv_row_int + ip_formula = <fs_fldval> + ip_style = <ls_field_catalog>-style ). + ELSE. + me->set_cell( ip_column = lv_column_alpha + ip_row = lv_row_int + ip_formula = <fs_fldval> ). + ENDIF. ELSE. - me->set_cell( ip_column = lv_column_alpha - ip_row = lv_row_int - ip_value = <fs_fldval> ). + IF <ls_field_catalog>-style IS NOT INITIAL. + me->set_cell( ip_column = lv_column_alpha + ip_row = lv_row_int + ip_value = <fs_fldval> + ip_style = <ls_field_catalog>-style ). + ELSE. + me->set_cell( ip_column = lv_column_alpha + ip_row = lv_row_int + ip_value = <fs_fldval> ). + ENDIF. ENDIF. ADD 1 TO lv_row_int. @@ -2821,7 +2835,7 @@ endmethod. es_table_settings-bottom_right_row = ls_settings-top_left_row + lv_rows + 1. "Last rows -endmethod. +ENDMETHOD. diff --git a/ZA2X/TABL/ZEXCEL_S_FIELDCATALOG.slnk b/ZA2X/TABL/ZEXCEL_S_FIELDCATALOG.slnk index 24fdf8c..ad18f15 100644 --- a/ZA2X/TABL/ZEXCEL_S_FIELDCATALOG.slnk +++ b/ZA2X/TABL/ZEXCEL_S_FIELDCATALOG.slnk @@ -1,16 +1,17 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + +