Issue #367 - Enhancement: Added feature "Hide columns from

Added feature to Reader_20007, Writer_2007, Demoreport 12
This commit is contained in:
StefanSchmoecker 2015-04-09 21:58:31 +02:00
parent ebad7f4166
commit 5fc05a9ec5
4 changed files with 174 additions and 154 deletions

View File

@ -2774,17 +2774,15 @@ ENDMETHOD.</source>
ADD 1 TO lv_index. ADD 1 TO lv_index.
ENDWHILE. ENDWHILE.
ENDIF. ENDIF.
* Fix 207 Read attributes HIDDEN, OUTLINELEVEL, COLLAPSED in ZCL_EXCEL_READER_2007
* IF column-hidden = lc_xml_attr_true OR * issue #367 - hide columns from
* column-hidden = lc_xml_attr_true_int. IF ls_column-max = 16384 &quot; Max = very right column
* index = column-min. AND ls_column-hidden = 1 &quot; all hidden
* WHILE index &lt;= column-max. AND ls_column-min &gt; 0.
* column_alpha = zcl_excel_common=&gt;convert_column2alpha( index ). io_worksheet-&gt;zif_excel_sheet_properties~hide_columns_from = zcl_excel_common=&gt;convert_column2alpha( ls_column-min ).
* column_dimension = io_worksheet-&gt;get_column_dimension( column_alpha ). ENDIF.
* column_dimension-&gt;set_visible( abap_false ).
* ADD 1 TO index.
* ENDWHILE.
* ENDIF.
ENDWHILE. ENDWHILE.
&quot;Now we need to get information from the sheetView node &quot;Now we need to get information from the sheetView node

View File

@ -3486,6 +3486,23 @@ ENDMETHOD.</source>
ENDLOOP. &quot;ins issue #157 - set sheet style ( add missing columns ENDLOOP. &quot;ins issue #157 - set sheet style ( add missing columns
ENDIF. ENDIF.
*--------------------------------------------------------------------*
* issue #367 add feature hide columns from
*--------------------------------------------------------------------*
IF io_worksheet-&gt;zif_excel_sheet_properties~hide_columns_from IS NOT INITIAL.
lo_element_2 = lo_document-&gt;create_simple_element( name = lc_xml_node_col
parent = lo_document ).
lv_value = zcl_excel_common=&gt;convert_column2int( io_worksheet-&gt;zif_excel_sheet_properties~hide_columns_from ).
CONDENSE lv_value NO-GAPS.
lo_element_2-&gt;set_attribute_ns( name = lc_xml_attr_min
value = lv_value ).
lo_element_2-&gt;set_attribute_ns( name = lc_xml_attr_max
value = &apos;16384&apos; ).
lo_element_2-&gt;set_attribute_ns( name = lc_xml_attr_hidden
value = &apos;1&apos; ).
lo_element-&gt;append_child( new_child = lo_element_2 ). &quot; col node
ENDIF.
lo_element_root-&gt;append_child( new_child = lo_element ). &quot; cols node lo_element_root-&gt;append_child( new_child = lo_element ). &quot; cols node
ENDIF. ENDIF.
&quot; sheetData node &quot; sheetData node

View File

@ -11,6 +11,7 @@
<attribute CLSNAME="ZIF_EXCEL_SHEET_PROPERTIES" CMPNAME="C_VERYHIDDEN" VERSION="1" LANGU="E" DESCRIPT="Hidden property" EXPOSURE="2" STATE="1" EDITORDER="2 " ATTDECLTYP="2" ATTVALUE="&apos;2&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_HIDDEN" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/> <attribute CLSNAME="ZIF_EXCEL_SHEET_PROPERTIES" CMPNAME="C_VERYHIDDEN" VERSION="1" LANGU="E" DESCRIPT="Hidden property" EXPOSURE="2" STATE="1" EDITORDER="2 " ATTDECLTYP="2" ATTVALUE="&apos;2&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_HIDDEN" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZIF_EXCEL_SHEET_PROPERTIES" CMPNAME="C_VISIBLE" VERSION="1" LANGU="E" DESCRIPT="Hidden property" EXPOSURE="2" STATE="1" EDITORDER="5 " ATTDECLTYP="2" ATTVALUE="&apos;&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_HIDDEN" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/> <attribute CLSNAME="ZIF_EXCEL_SHEET_PROPERTIES" CMPNAME="C_VISIBLE" VERSION="1" LANGU="E" DESCRIPT="Hidden property" EXPOSURE="2" STATE="1" EDITORDER="5 " ATTDECLTYP="2" ATTVALUE="&apos;&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_HIDDEN" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZIF_EXCEL_SHEET_PROPERTIES" CMPNAME="HIDDEN" VERSION="1" LANGU="E" DESCRIPT="Hidden property" EXPOSURE="2" STATE="1" EDITORDER="6 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_HIDDEN" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/> <attribute CLSNAME="ZIF_EXCEL_SHEET_PROPERTIES" CMPNAME="HIDDEN" VERSION="1" LANGU="E" DESCRIPT="Hidden property" EXPOSURE="2" STATE="1" EDITORDER="6 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_HIDDEN" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZIF_EXCEL_SHEET_PROPERTIES" CMPNAME="HIDE_COLUMNS_FROM" VERSION="1" LANGU="E" DESCRIPT="Cell Column" EXPOSURE="2" STATE="1" EDITORDER="21 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN_ALPHA" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZIF_EXCEL_SHEET_PROPERTIES" CMPNAME="SELECTED" VERSION="1" LANGU="E" DESCRIPT="Selected property" EXPOSURE="2" STATE="1" EDITORDER="19 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_SELECTED" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/> <attribute CLSNAME="ZIF_EXCEL_SHEET_PROPERTIES" CMPNAME="SELECTED" VERSION="1" LANGU="E" DESCRIPT="Selected property" EXPOSURE="2" STATE="1" EDITORDER="19 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_SELECTED" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZIF_EXCEL_SHEET_PROPERTIES" CMPNAME="SHOW_ZEROS" VERSION="1" LANGU="E" DESCRIPT="Show zeros" EXPOSURE="2" STATE="1" EDITORDER="7 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_SHOWZEROS" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/> <attribute CLSNAME="ZIF_EXCEL_SHEET_PROPERTIES" CMPNAME="SHOW_ZEROS" VERSION="1" LANGU="E" DESCRIPT="Show zeros" EXPOSURE="2" STATE="1" EDITORDER="7 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_SHOWZEROS" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZIF_EXCEL_SHEET_PROPERTIES" CMPNAME="STYLE" VERSION="1" LANGU="E" DESCRIPT="Style identifier" EXPOSURE="2" STATE="1" EDITORDER="8 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_STYLE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/> <attribute CLSNAME="ZIF_EXCEL_SHEET_PROPERTIES" CMPNAME="STYLE" VERSION="1" LANGU="E" DESCRIPT="Style identifier" EXPOSURE="2" STATE="1" EDITORDER="8 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_STYLE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>

View File

@ -115,6 +115,10 @@ START-OF-SELECTION.
* Hint: the order you create the outlines can be arbitrary * Hint: the order you create the outlines can be arbitrary
* You can start with inner outlines or with outer outlines * You can start with inner outlines or with outer outlines
*--------------------------------------------------------------------*
* Hide columns right of column M
*--------------------------------------------------------------------*
lo_worksheet-&gt;zif_excel_sheet_properties~hide_columns_from = &apos;M&apos;.
*** Create output *** Create output
lcl_output=&gt;output( lo_excel ).</source> lcl_output=&gt;output( lo_excel ).</source>