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:
Ivan Femia 2011-05-27 17:08:53 +00:00
parent 1abc86ef22
commit 956e3b060c
3 changed files with 28 additions and 26 deletions

View File

@ -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 &lt; 0.
CONCATENATE &apos;-&apos; ep_value INTO ep_value.
ELSEIF ip_value EQ 0.
ep_value = &apos;0&apos;.
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"/>

View File

@ -10,7 +10,7 @@
public section.
constants C_CFVO_TYPE_FORMULA type ZEXCEL_CONDITIONAL_TYPE value &apos;formula&apos;. &quot;#EC NOTEXT
constants C_CFVO_TYPE_NUMBER type ZEXCEL_CONDITIONAL_TYPE value &apos;number&apos;. &quot;#EC NOTEXT
constants C_CFVO_TYPE_NUMBER type ZEXCEL_CONDITIONAL_TYPE value &apos;num&apos;. &quot;#EC NOTEXT
constants C_CFVO_TYPE_PERCENT type ZEXCEL_CONDITIONAL_TYPE value &apos;percent&apos;. &quot;#EC NOTEXT
constants C_CFVO_TYPE_PERCENTILE type ZEXCEL_CONDITIONAL_TYPE value &apos;percentile&apos;. &quot;#EC NOTEXT
constants C_ICONSET_3ARROWS type ZEXCEL_CONDITION_RULE_ICONSET value &apos;3Arrows&apos;. &quot;#EC NOTEXT
@ -97,7 +97,7 @@ private section.
<localMacros>*&quot;* use this source file for any macro definitions you need
*&quot;* 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="&apos;formula&apos;" 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="&apos;number&apos;" 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="&apos;num&apos;" 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="&apos;percent&apos;" 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="&apos;percentile&apos;" 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="&apos;3Arrows&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE_ICONSET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>

View File

@ -2276,6 +2276,28 @@ endmethod.</source>
lo_element_root-&gt;append_child( new_child = lo_element ).
ENDIF.
&quot; Merged cells
t_range_merge = io_worksheet-&gt;get_merge( ).
IF t_range_merge IS NOT INITIAL.
lo_element = lo_document-&gt;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-&gt;set_attribute_ns( name = lc_xml_attr_count
value = lv_value ).
LOOP AT t_range_merge ASSIGNING &lt;fs_range_merge&gt;.
lo_element_2 = lo_document-&gt;create_simple_element( name = lc_xml_node_mergecell
parent = lo_document ).
lo_element_2-&gt;set_attribute_ns( name = lc_xml_attr_ref
value = &lt;fs_range_merge&gt; ).
lo_element-&gt;append_child( new_child = lo_element_2 ).
lo_element_root-&gt;append_child( new_child = lo_element ).
io_worksheet-&gt;delete_merge( ).
ENDLOOP.
ENDIF.
&quot; Conditional formatting node
lo_iterator = io_worksheet-&gt;get_cond_styles_iterator( ).
WHILE lo_iterator-&gt;if_object_collection_iterator~has_next( ) EQ abap_true.
@ -2419,28 +2441,6 @@ endmethod.</source>
lo_element_root-&gt;append_child( new_child = lo_element ). &quot; Conditional formatting node
ENDWHILE.
&quot; Merged cells
t_range_merge = io_worksheet-&gt;get_merge( ).
IF t_range_merge IS NOT INITIAL.
lo_element = lo_document-&gt;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-&gt;set_attribute_ns( name = lc_xml_attr_count
value = lv_value ).
LOOP AT t_range_merge ASSIGNING &lt;fs_range_merge&gt;.
lo_element_2 = lo_document-&gt;create_simple_element( name = lc_xml_node_mergecell
parent = lo_document ).
lo_element_2-&gt;set_attribute_ns( name = lc_xml_attr_ref
value = &lt;fs_range_merge&gt; ).
lo_element-&gt;append_child( new_child = lo_element_2 ).
lo_element_root-&gt;append_child( new_child = lo_element ).
io_worksheet-&gt;delete_merge( ).
ENDLOOP.
ENDIF.
IF io_worksheet-&gt;get_data_validations_size( ) GT 0.
&quot; dataValidations node
lo_element = lo_document-&gt;create_simple_element( name = lc_xml_node_datavalidations