Update zcl_excel_worksheet.clas.abap

This commit is contained in:
AtomKrieg 2018-08-20 00:07:56 +03:00 committed by GitHub
parent c3d9431b49
commit bbbf511dd6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -5127,21 +5127,31 @@ CLASS ZCL_EXCEL_WORKSHEET IMPLEMENTATION.
method UPDATE_DIMENSION_RANGE.
data: LS_SHEET_CONTENT type ZEXCEL_S_CELL_DATA,
LT_SHEET_CONTENT type ZEXCEL_T_CELL_DATA_UNSORTED,
LV_ROW_ALPHA type STRING,
LV_COLUMN_ALPHA type ZEXCEL_CELL_COLUMN_ALPHA.
check SHEET_CONTENT is not initial.
* update dimension range
LT_SHEET_CONTENT = SHEET_CONTENT.
"upper left corner
sort LT_SHEET_CONTENT by CELL_ROW.
read table LT_SHEET_CONTENT index 1 into LS_SHEET_CONTENT.
UPPER_CELL-CELL_ROW = LS_SHEET_CONTENT-CELL_ROW.
sort LT_SHEET_CONTENT by CELL_COLUMN.
read table LT_SHEET_CONTENT index 1 into LS_SHEET_CONTENT.
UPPER_CELL-CELL_COLUMN = LS_SHEET_CONTENT-CELL_COLUMN.
UPPER_CELL-CELL_ROW = ZCL_EXCEL_COMMON=>C_EXCEL_SHEET_MAX_ROW.
UPPER_CELL-CELL_COLUMN = ZCL_EXCEL_COMMON=>C_EXCEL_SHEET_MAX_COL.
LOWER_CELL-CELL_ROW = ZCL_EXCEL_COMMON=>C_EXCEL_SHEET_MIN_ROW.
LOWER_CELL-CELL_COLUMN = ZCL_EXCEL_COMMON=>C_EXCEL_SHEET_MIN_COL.
loop at SHEET_CONTENT into LS_SHEET_CONTENT.
if UPPER_CELL-CELL_ROW > LS_SHEET_CONTENT-CELL_ROW.
UPPER_CELL-CELL_ROW = LS_SHEET_CONTENT-CELL_ROW.
endif.
if UPPER_CELL-CELL_COLUMN > LS_SHEET_CONTENT-CELL_COLUMN.
UPPER_CELL-CELL_COLUMN = LS_SHEET_CONTENT-CELL_COLUMN.
endif.
if LOWER_CELL-CELL_ROW < LS_SHEET_CONTENT-CELL_ROW.
LOWER_CELL-CELL_ROW = LS_SHEET_CONTENT-CELL_ROW.
endif.
if LOWER_CELL-CELL_COLUMN < LS_SHEET_CONTENT-CELL_COLUMN.
LOWER_CELL-CELL_COLUMN = LS_SHEET_CONTENT-CELL_COLUMN.
endif.
endloop.
LV_ROW_ALPHA = UPPER_CELL-CELL_ROW.
LV_COLUMN_ALPHA = ZCL_EXCEL_COMMON=>CONVERT_COLUMN2ALPHA( UPPER_CELL-CELL_COLUMN ).
@ -5149,14 +5159,6 @@ CLASS ZCL_EXCEL_WORKSHEET IMPLEMENTATION.
shift LV_ROW_ALPHA left deleting leading SPACE.
concatenate LV_COLUMN_ALPHA LV_ROW_ALPHA into UPPER_CELL-CELL_COORDS.
"bottom right corner
sort LT_SHEET_CONTENT by CELL_ROW descending.
read table LT_SHEET_CONTENT index 1 into LS_SHEET_CONTENT.
LOWER_CELL-CELL_ROW = LS_SHEET_CONTENT-CELL_ROW.
sort LT_SHEET_CONTENT by CELL_COLUMN descending.
read table LT_SHEET_CONTENT index 1 into LS_SHEET_CONTENT.
LOWER_CELL-CELL_COLUMN = LS_SHEET_CONTENT-CELL_COLUMN.
LV_ROW_ALPHA = LOWER_CELL-CELL_ROW.
LV_COLUMN_ALPHA = ZCL_EXCEL_COMMON=>CONVERT_COLUMN2ALPHA( LOWER_CELL-CELL_COLUMN ).
shift LV_ROW_ALPHA right deleting trailing SPACE.