From 5ac350e905c38fa3d2b73f46100fd82e877a14f2 Mon Sep 17 00:00:00 2001 From: RixarSAP <168567887+RixarSAP@users.noreply.github.com> Date: Thu, 9 May 2024 16:30:23 +0200 Subject: [PATCH] Added Width in fieldcatalog --- src/zcl_excel_worksheet.clas.abap | 88 ++++++++++++++++--------------- 1 file changed, 46 insertions(+), 42 deletions(-) diff --git a/src/zcl_excel_worksheet.clas.abap b/src/zcl_excel_worksheet.clas.abap index cfa86a3..e0a9faa 100644 --- a/src/zcl_excel_worksheet.clas.abap +++ b/src/zcl_excel_worksheet.clas.abap @@ -851,7 +851,7 @@ ENDCLASS. -CLASS zcl_excel_worksheet IMPLEMENTATION. +CLASS ZCL_EXCEL_WORKSHEET IMPLEMENTATION. METHOD add_comment. @@ -1083,6 +1083,10 @@ CLASS zcl_excel_worksheet IMPLEMENTATION. lv_column_alpha = zcl_excel_common=>convert_column2alpha( lv_column_int ). + IF -width IS NOT INITIAL. + set_column_width( ip_column = lv_column_alpha ip_width_fix = -width ). + ENDIF. + " First of all write column header IF -style_header IS NOT INITIAL. me->set_cell( ip_column = lv_column_alpha @@ -3300,6 +3304,30 @@ CLASS zcl_excel_worksheet IMPLEMENTATION. ENDMETHOD. + METHOD normalize_columnrow_parameter. + + IF ( ( ip_column IS NOT INITIAL OR ip_row IS NOT INITIAL ) AND ip_columnrow IS NOT INITIAL ) + OR ( ip_column IS INITIAL AND ip_row IS INITIAL AND ip_columnrow IS INITIAL ). + RAISE EXCEPTION TYPE zcx_excel + EXPORTING + error = 'Please provide either row and column, or cell reference'. + ENDIF. + + IF ip_columnrow IS NOT INITIAL. + zcl_excel_common=>convert_columnrow2column_a_row( + EXPORTING + i_columnrow = ip_columnrow + IMPORTING + e_column_int = ep_column + e_row = ep_row ). + ELSE. + ep_column = zcl_excel_common=>convert_column2int( ip_column ). + ep_row = ip_row. + ENDIF. + + ENDMETHOD. + + METHOD normalize_column_heading_texts. DATA: lt_field_catalog TYPE zexcel_t_fieldcatalog, @@ -3384,30 +3412,6 @@ CLASS zcl_excel_worksheet IMPLEMENTATION. ENDMETHOD. - METHOD normalize_columnrow_parameter. - - IF ( ( ip_column IS NOT INITIAL OR ip_row IS NOT INITIAL ) AND ip_columnrow IS NOT INITIAL ) - OR ( ip_column IS INITIAL AND ip_row IS INITIAL AND ip_columnrow IS INITIAL ). - RAISE EXCEPTION TYPE zcx_excel - EXPORTING - error = 'Please provide either row and column, or cell reference'. - ENDIF. - - IF ip_columnrow IS NOT INITIAL. - zcl_excel_common=>convert_columnrow2column_a_row( - EXPORTING - i_columnrow = ip_columnrow - IMPORTING - e_column_int = ep_column - e_row = ep_row ). - ELSE. - ep_column = zcl_excel_common=>convert_column2int( ip_column ). - ep_row = ip_row. - ENDIF. - - ENDMETHOD. - - METHOD normalize_range_parameter. DATA: lv_errormessage TYPE string. @@ -4171,23 +4175,6 @@ CLASS zcl_excel_worksheet IMPLEMENTATION. ENDMETHOD. "SET_CELL_STYLE - METHOD set_table_reference. - - FIELD-SYMBOLS: TYPE zexcel_s_cell_data. - - READ TABLE sheet_content ASSIGNING WITH KEY cell_row = ip_row - cell_column = ip_column. - IF sy-subrc = 0. - -table = ir_table. - -table_fieldname = ip_fieldname. - -table_header = ip_header. - ELSE. - zcx_excel=>raise_text( 'Cell not found' ). - ENDIF. - - ENDMETHOD. - - METHOD set_column_width. DATA: lo_column TYPE REF TO zcl_excel_column. DATA: width TYPE f. @@ -4500,6 +4487,23 @@ CLASS zcl_excel_worksheet IMPLEMENTATION. ENDMETHOD. "SET_TABLE + METHOD set_table_reference. + + FIELD-SYMBOLS: TYPE zexcel_s_cell_data. + + READ TABLE sheet_content ASSIGNING WITH KEY cell_row = ip_row + cell_column = ip_column. + IF sy-subrc = 0. + -table = ir_table. + -table_fieldname = ip_fieldname. + -table_header = ip_header. + ELSE. + zcx_excel=>raise_text( 'Cell not found' ). + ENDIF. + + ENDMETHOD. + + METHOD set_title. *--------------------------------------------------------------------* * ToDos: