mirror of
https://github.com/abap2xlsx/abap2xlsx.git
synced 2025-05-05 08:26:15 +08:00
Fixed conditional formatting if used with merged cells. Fix time formatting if it is 00:00:00
git-svn-id: https://subversion.assembla.com/svn/abap2xlsx/trunk@189 b7d68dce-7c3c-4a99-8ce0-9ea847f5d049
This commit is contained in:
parent
1abc86ef22
commit
956e3b060c
|
@ -361,7 +361,7 @@ endmethod.</source>
|
|||
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="NUMBER_TO_EXCEL_STRING" VERSION="1" LANGU="E" DESCRIPT="Converts number to string representation in Excel format" EXPOSURE="2" STATE="1" EDITORDER="11 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20110205" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="1" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
|
||||
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="NUMBER_TO_EXCEL_STRING" SCONAME="IP_VALUE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20110205" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="1" TYPE="NUMERIC"/>
|
||||
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="NUMBER_TO_EXCEL_STRING" SCONAME="EP_VALUE" VERSION="1" LANGU="E" DESCRIPT="Cell Value" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20110205" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_VALUE"/>
|
||||
<source>method NUMBER_TO_EXCEL_STRING.
|
||||
<source>METHOD number_to_excel_string.
|
||||
DATA: lv_value_c TYPE c LENGTH 100.
|
||||
|
||||
WRITE ip_value TO lv_value_c EXPONENT 0 NO-GROUPING NO-SIGN.
|
||||
|
@ -372,8 +372,10 @@ endmethod.</source>
|
|||
|
||||
IF ip_value < 0.
|
||||
CONCATENATE '-' ep_value INTO ep_value.
|
||||
ELSEIF ip_value EQ 0.
|
||||
ep_value = '0'.
|
||||
ENDIF.
|
||||
endmethod.</source>
|
||||
ENDMETHOD.</source>
|
||||
</method>
|
||||
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="SHL01" VERSION="1" LANGU="E" EXPOSURE="0" STATE="1" EDITORDER="12 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20110205" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="1" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
|
||||
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="SHL01" SCONAME="I_PWD_HASH" VERSION="1" LANGU="E" DESCRIPT="Password hash" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20110205" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_PWD_HASH"/>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
public section.
|
||||
|
||||
constants C_CFVO_TYPE_FORMULA type ZEXCEL_CONDITIONAL_TYPE value 'formula'. "#EC NOTEXT
|
||||
constants C_CFVO_TYPE_NUMBER type ZEXCEL_CONDITIONAL_TYPE value 'number'. "#EC NOTEXT
|
||||
constants C_CFVO_TYPE_NUMBER type ZEXCEL_CONDITIONAL_TYPE value 'num'. "#EC NOTEXT
|
||||
constants C_CFVO_TYPE_PERCENT type ZEXCEL_CONDITIONAL_TYPE value 'percent'. "#EC NOTEXT
|
||||
constants C_CFVO_TYPE_PERCENTILE type ZEXCEL_CONDITIONAL_TYPE value 'percentile'. "#EC NOTEXT
|
||||
constants C_ICONSET_3ARROWS type ZEXCEL_CONDITION_RULE_ICONSET value '3Arrows'. "#EC NOTEXT
|
||||
|
@ -97,7 +97,7 @@ private section.
|
|||
<localMacros>*"* use this source file for any macro definitions you need
|
||||
*"* in the implementation part of the class</localMacros>
|
||||
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_CFVO_TYPE_FORMULA" VERSION="1" LANGU="E" DESCRIPT="Condition type" EXPOSURE="2" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20110526" CHANGEDBY="FEMIA" CHANGEDON="20110527" ATTDECLTYP="2" ATTVALUE="'formula'" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITIONAL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
|
||||
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_CFVO_TYPE_NUMBER" VERSION="1" LANGU="E" DESCRIPT="Condition type" EXPOSURE="2" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20110526" CHANGEDBY="FEMIA" CHANGEDON="20110527" ATTDECLTYP="2" ATTVALUE="'number'" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITIONAL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
|
||||
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_CFVO_TYPE_NUMBER" VERSION="1" LANGU="E" DESCRIPT="Condition type" EXPOSURE="2" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20110526" CHANGEDBY="FEMIA" CHANGEDON="20110527" ATTDECLTYP="2" ATTVALUE="'num'" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITIONAL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
|
||||
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_CFVO_TYPE_PERCENT" VERSION="1" LANGU="E" DESCRIPT="Condition type" EXPOSURE="2" STATE="1" EDITORDER="3 " AUTHOR="FEMIA" CREATEDON="20110526" CHANGEDBY="FEMIA" CHANGEDON="20110527" ATTDECLTYP="2" ATTVALUE="'percent'" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITIONAL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
|
||||
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_CFVO_TYPE_PERCENTILE" VERSION="1" LANGU="E" DESCRIPT="Condition type" EXPOSURE="2" STATE="1" EDITORDER="4 " AUTHOR="FEMIA" CREATEDON="20110526" CHANGEDBY="FEMIA" CHANGEDON="20110527" ATTDECLTYP="2" ATTVALUE="'percentile'" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITIONAL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
|
||||
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_ICONSET_3ARROWS" VERSION="1" LANGU="E" DESCRIPT="Condition rule iconset" EXPOSURE="2" STATE="1" EDITORDER="5 " AUTHOR="FEMIA" CREATEDON="20110205" CHANGEDBY="FEMIA" CHANGEDON="20110527" ATTDECLTYP="2" ATTVALUE="'3Arrows'" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE_ICONSET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
|
||||
|
|
|
@ -2276,6 +2276,28 @@ endmethod.</source>
|
|||
lo_element_root->append_child( new_child = lo_element ).
|
||||
ENDIF.
|
||||
|
||||
" Merged cells
|
||||
t_range_merge = io_worksheet->get_merge( ).
|
||||
IF t_range_merge IS NOT INITIAL.
|
||||
lo_element = lo_document->create_simple_element( name = lc_xml_node_mergecells
|
||||
parent = lo_document ).
|
||||
DESCRIBE TABLE t_range_merge LINES merge_count.
|
||||
lv_value = merge_count.
|
||||
CONDENSE lv_value.
|
||||
lo_element->set_attribute_ns( name = lc_xml_attr_count
|
||||
value = lv_value ).
|
||||
LOOP AT t_range_merge ASSIGNING <fs_range_merge>.
|
||||
lo_element_2 = lo_document->create_simple_element( name = lc_xml_node_mergecell
|
||||
parent = lo_document ).
|
||||
|
||||
lo_element_2->set_attribute_ns( name = lc_xml_attr_ref
|
||||
value = <fs_range_merge> ).
|
||||
lo_element->append_child( new_child = lo_element_2 ).
|
||||
lo_element_root->append_child( new_child = lo_element ).
|
||||
io_worksheet->delete_merge( ).
|
||||
ENDLOOP.
|
||||
ENDIF.
|
||||
|
||||
" Conditional formatting node
|
||||
lo_iterator = io_worksheet->get_cond_styles_iterator( ).
|
||||
WHILE lo_iterator->if_object_collection_iterator~has_next( ) EQ abap_true.
|
||||
|
@ -2419,28 +2441,6 @@ endmethod.</source>
|
|||
lo_element_root->append_child( new_child = lo_element ). " Conditional formatting node
|
||||
ENDWHILE.
|
||||
|
||||
" Merged cells
|
||||
t_range_merge = io_worksheet->get_merge( ).
|
||||
IF t_range_merge IS NOT INITIAL.
|
||||
lo_element = lo_document->create_simple_element( name = lc_xml_node_mergecells
|
||||
parent = lo_document ).
|
||||
DESCRIBE TABLE t_range_merge LINES merge_count.
|
||||
lv_value = merge_count.
|
||||
CONDENSE lv_value.
|
||||
lo_element->set_attribute_ns( name = lc_xml_attr_count
|
||||
value = lv_value ).
|
||||
LOOP AT t_range_merge ASSIGNING <fs_range_merge>.
|
||||
lo_element_2 = lo_document->create_simple_element( name = lc_xml_node_mergecell
|
||||
parent = lo_document ).
|
||||
|
||||
lo_element_2->set_attribute_ns( name = lc_xml_attr_ref
|
||||
value = <fs_range_merge> ).
|
||||
lo_element->append_child( new_child = lo_element_2 ).
|
||||
lo_element_root->append_child( new_child = lo_element ).
|
||||
io_worksheet->delete_merge( ).
|
||||
ENDLOOP.
|
||||
ENDIF.
|
||||
|
||||
IF io_worksheet->get_data_validations_size( ) GT 0.
|
||||
" dataValidations node
|
||||
lo_element = lo_document->create_simple_element( name = lc_xml_node_datavalidations
|
||||
|
|
Loading…
Reference in New Issue
Block a user