From b1d6654f42c01dc36b14b820350b83d65a9899ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Schm=C3=B6cker?= Date: Mon, 2 Apr 2012 20:21:39 +0000 Subject: [PATCH] Issue #157 - Adding methods set_row_height and set_column_width to ZCL_EXCEL_WORKSHEET git-svn-id: https://subversion.assembla.com/svn/abap2xlsx/trunk@291 b7d68dce-7c3c-4a99-8ce0-9ea847f5d049 --- ZA2X/CLAS/ZCL_EXCEL_WORKSHEET.slnk | 96 +++++++++++++++++++++++++++--- 1 file changed, 88 insertions(+), 8 deletions(-) diff --git a/ZA2X/CLAS/ZCL_EXCEL_WORKSHEET.slnk b/ZA2X/CLAS/ZCL_EXCEL_WORKSHEET.slnk index ae6fd5a..41f539a 100644 --- a/ZA2X/CLAS/ZCL_EXCEL_WORKSHEET.slnk +++ b/ZA2X/CLAS/ZCL_EXCEL_WORKSHEET.slnk @@ -311,6 +311,13 @@ public section. !IP_STYLE type ZEXCEL_CELL_STYLE raising ZCX_EXCEL . + methods SET_COLUMN_WIDTH + importing + !IP_COLUMN type SIMPLE + !IP_WIDTH_FIX type SIMPLE default 0 + !IP_WIDTH_AUTOSIZE type FLAG default 'X' + raising + ZCX_EXCEL . methods SET_DEFAULT_EXCEL_DATE_FORMAT importing !IP_DEFAULT_EXCEL_DATE_FORMAT type ZEXCEL_NUMBER_FORMAT . @@ -323,6 +330,12 @@ public section. methods SET_PRINT_GRIDLINES importing !I_PRINT_GRIDLINES type ZEXCEL_PRINT_GRIDLINES . + methods SET_ROW_HEIGHT + importing + !IP_ROW type SIMPLE + !IP_HEIGHT_FIX type SIMPLE + raising + ZCX_EXCEL . methods SET_SHOW_GRIDLINES importing !I_SHOW_GRIDLINES type ZEXCEL_SHOW_GRIDLINES . @@ -4226,7 +4239,43 @@ endmethod. endmethod. - + + + + + + METHOD set_column_width. + DATA: column_dimension TYPE REF TO zcl_excel_worksheet_columndime. + DATA: width TYPE float. + + column_dimension = me->get_column_dimension( ip_column ). + +* if a fix size is supplied use this + IF ip_width_fix IS SUPPLIED. + TRY. + width = ip_width_fix. + IF width <= 0. + RAISE EXCEPTION TYPE zcx_excel + EXPORTING + error = 'Please supply a positive number as column-width'. + ENDIF. + column_dimension->set_width( width ). + EXIT. + CATCH cx_sy_conversion_no_number. +* Strange stuff passed --> raise error + RAISE EXCEPTION TYPE zcx_excel + EXPORTING + error = 'Unable to interpret supplied input as number'. + ENDTRY. + ENDIF. + +* If we get down to here, we have to use whatever is found in autosize. + column_dimension->set_auto_size( ip_width_autosize ). + + +ENDMETHOD. + + method SET_DEFAULT_EXCEL_DATE_FORMAT. @@ -4239,7 +4288,7 @@ endmethod. default_excel_date_format = ip_default_excel_date_format. endmethod. - + @@ -4280,25 +4329,56 @@ endmethod. endmethod. - + method SET_PRINT_GRIDLINES. me->print_gridlines = i_print_gridlines. endmethod. - + + + + + METHOD set_row_height. + DATA: row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi. + DATA: height TYPE float. + + row_dimension = me->get_row_dimension( ip_row ). + +* if a fix size is supplied use this + TRY. + height = ip_height_fix. + IF height <= 0. + RAISE EXCEPTION TYPE zcx_excel + EXPORTING + error = 'Please supply a positive number as row-height'. + ENDIF. + row_dimension->set_row_height( height ). + EXIT. + CATCH cx_sy_conversion_no_number. +* Strange stuff passed --> raise error + RAISE EXCEPTION TYPE zcx_excel + EXPORTING + error = 'Unable to interpret supplied input as number'. + ENDTRY. + + + +ENDMETHOD. + + method SET_SHOW_GRIDLINES. me->show_gridlines = i_show_gridlines. endmethod. - + method SET_SHOW_ROWCOLHEADERS. me->show_rowcolheaders = i_show_rowcolheaders. endmethod. - + @@ -4361,7 +4441,7 @@ endmethod. endmethod. - + method SET_TITLE. @@ -4397,7 +4477,7 @@ endmethod. me->title = ip_title. endmethod. - + method UPDATE_DIMENSION_RANGE. DATA: ls_sheet_content TYPE zexcel_s_cell_data,