+ worksheet columns right-to-left (#911)

fix #890

Co-authored-by: sandraros <sandra.rossi@gmail.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
This commit is contained in:
sandraros 2021-12-12 09:14:17 +01:00 committed by GitHub
parent 41196fd58a
commit 6532e0e0b5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 34 additions and 0 deletions

View File

@ -2212,6 +2212,7 @@ CLASS zcl_excel_reader_2007 IMPLEMENTATION.
zoomscalenormal TYPE string, zoomscalenormal TYPE string,
workbookviewid TYPE string, workbookviewid TYPE string,
showrowcolheaders TYPE string, showrowcolheaders TYPE string,
righttoleft TYPE string,
END OF lty_sheetview. END OF lty_sheetview.
TYPES: BEGIN OF lty_mergecell, TYPES: BEGIN OF lty_mergecell,
@ -2728,6 +2729,10 @@ CLASS zcl_excel_reader_2007 IMPLEMENTATION.
ls_sheetview-showgridlines = abap_false. ls_sheetview-showgridlines = abap_false.
ENDIF. ENDIF.
io_worksheet->set_show_gridlines( ls_sheetview-showgridlines ). io_worksheet->set_show_gridlines( ls_sheetview-showgridlines ).
IF ls_sheetview-righttoleft = lc_xml_attr_true
OR ls_sheetview-righttoleft = lc_xml_attr_true_int.
io_worksheet->zif_excel_sheet_properties~set_right_to_left( abap_true ).
ENDIF.
"Add merge cell information "Add merge cell information

View File

@ -667,6 +667,7 @@ CLASS zcl_excel_worksheet DEFINITION
DATA title TYPE zexcel_sheet_title VALUE 'Worksheet'. "#EC NOTEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . " . DATA title TYPE zexcel_sheet_title VALUE 'Worksheet'. "#EC NOTEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . " .
DATA upper_cell TYPE zexcel_s_cell_data . DATA upper_cell TYPE zexcel_s_cell_data .
DATA mt_ignored_errors TYPE mty_th_ignored_errors. DATA mt_ignored_errors TYPE mty_th_ignored_errors.
DATA right_to_left TYPE abap_bool.
METHODS calculate_cell_width METHODS calculate_cell_width
IMPORTING IMPORTING
@ -4260,6 +4261,11 @@ CLASS zcl_excel_worksheet IMPLEMENTATION.
ENDMETHOD. "ZIF_EXCEL_SHEET_PRINTSETTINGS~SET_PRINT_REPEAT_ROWS ENDMETHOD. "ZIF_EXCEL_SHEET_PRINTSETTINGS~SET_PRINT_REPEAT_ROWS
METHOD zif_excel_sheet_properties~get_right_to_left.
result = right_to_left.
ENDMETHOD.
METHOD zif_excel_sheet_properties~get_style. METHOD zif_excel_sheet_properties~get_style.
IF zif_excel_sheet_properties~style IS NOT INITIAL. IF zif_excel_sheet_properties~style IS NOT INITIAL.
ep_style = zif_excel_sheet_properties~style. ep_style = zif_excel_sheet_properties~style.
@ -4283,6 +4289,11 @@ CLASS zcl_excel_worksheet IMPLEMENTATION.
ENDMETHOD. "ZIF_EXCEL_SHEET_PROPERTIES~INITIALIZE ENDMETHOD. "ZIF_EXCEL_SHEET_PROPERTIES~INITIALIZE
METHOD zif_excel_sheet_properties~set_right_to_left.
me->right_to_left = right_to_left.
ENDMETHOD.
METHOD zif_excel_sheet_properties~set_style. METHOD zif_excel_sheet_properties~set_style.
zif_excel_sheet_properties~style = ip_style. zif_excel_sheet_properties~style = ip_style.
ENDMETHOD. "ZIF_EXCEL_SHEET_PROPERTIES~SET_STYLE ENDMETHOD. "ZIF_EXCEL_SHEET_PROPERTIES~SET_STYLE

View File

@ -4088,6 +4088,10 @@ CLASS zcl_excel_writer_2007 IMPLEMENTATION.
lo_element_2->set_attribute_ns( name = lc_xml_attr_zoomscalesheetview lo_element_2->set_attribute_ns( name = lc_xml_attr_zoomscalesheetview
value = lv_value ). value = lv_value ).
ENDIF. ENDIF.
IF io_worksheet->zif_excel_sheet_properties~get_right_to_left( ) EQ abap_true.
lo_element_2->set_attribute_ns( name = 'rightToLeft'
value = '1' ).
ENDIF.
lo_element_2->set_attribute_ns( name = lc_xml_attr_workbookviewid lo_element_2->set_attribute_ns( name = lc_xml_attr_workbookviewid
value = '0' ). value = '0' ).
" showGridLines attribute " showGridLines attribute

View File

@ -209,6 +209,7 @@ CLASS zcl_excel_writer_huge_file IMPLEMENTATION.
zoomscalenormal TYPE i, zoomscalenormal TYPE i,
zoomscalepageview TYPE i, zoomscalepageview TYPE i,
zoomscalesheetview TYPE i, zoomscalesheetview TYPE i,
righttoleft TYPE i,
workbookviewid TYPE c, workbookviewid TYPE c,
showgridlines TYPE c, showgridlines TYPE c,
showrowcolheaders TYPE c, showrowcolheaders TYPE c,
@ -380,6 +381,12 @@ CLASS zcl_excel_writer_huge_file IMPLEMENTATION.
l_worksheet-zoomscalesheetview = io_worksheet->zif_excel_sheet_properties~zoomscale_sheetlayoutview. l_worksheet-zoomscalesheetview = io_worksheet->zif_excel_sheet_properties~zoomscale_sheetlayoutview.
ENDIF. ENDIF.
IF io_worksheet->zif_excel_sheet_properties~get_right_to_left( ) EQ abap_true.
l_worksheet-righttoleft = lc_one.
ELSE.
l_worksheet-righttoleft = lc_zero.
ENDIF.
l_worksheet-workbookviewid = lc_zero. l_worksheet-workbookviewid = lc_zero.
IF io_worksheet->show_gridlines = abap_true. IF io_worksheet->show_gridlines = abap_true.

View File

@ -48,6 +48,7 @@
<tt:attribute name="zoomScalePageLayoutView" value-ref="WORKSHEET.ZOOMSCALEPAGEVIEW" /> <tt:attribute name="zoomScalePageLayoutView" value-ref="WORKSHEET.ZOOMSCALEPAGEVIEW" />
</tt:cond> </tt:cond>
<tt:attribute name="zoomScaleSheetLayoutView" value-ref="WORKSHEET.ZOOMSCALESHEETVIEW" /> <tt:attribute name="zoomScaleSheetLayoutView" value-ref="WORKSHEET.ZOOMSCALESHEETVIEW" />
<tt:attribute name="rightToLeft" value-ref="WORKSHEET.RIGHTTOLEFT" />
<tt:attribute name="workbookViewId" value-ref="WORKSHEET.WORKBOOKVIEWID" /> <tt:attribute name="workbookViewId" value-ref="WORKSHEET.WORKBOOKVIEWID" />
<tt:attribute name="showGridLines" value-ref="WORKSHEET.SHOWGRIDLINES" /> <tt:attribute name="showGridLines" value-ref="WORKSHEET.SHOWGRIDLINES" />
<tt:attribute name="showRowColHeaders" value-ref="WORKSHEET.SHOWROWCOLHEADERS" /> <tt:attribute name="showRowColHeaders" value-ref="WORKSHEET.SHOWROWCOLHEADERS" />

View File

@ -25,9 +25,15 @@ INTERFACE zif_excel_sheet_properties
DATA hide_columns_from TYPE zexcel_cell_column_alpha . DATA hide_columns_from TYPE zexcel_cell_column_alpha .
METHODS initialize . METHODS initialize .
METHODS get_right_to_left
RETURNING
VALUE(result) TYPE abap_bool.
METHODS get_style METHODS get_style
RETURNING RETURNING
VALUE(ep_style) TYPE zexcel_cell_style . VALUE(ep_style) TYPE zexcel_cell_style .
METHODS set_right_to_left
IMPORTING
!right_to_left TYPE abap_bool .
METHODS set_style METHODS set_style
IMPORTING IMPORTING
!ip_style TYPE zexcel_cell_style . !ip_style TYPE zexcel_cell_style .