mirror of
https://github.com/abap2xlsx/abap2xlsx.git
synced 2025-05-04 18:06:09 +08:00
Issues #346,#154, #195: Problems when there is information in row_dimension but no cell content in that row
This commit is contained in:
parent
f60604601a
commit
90e805c9bf
|
@ -18,7 +18,7 @@
|
|||
<attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="C_XL_CALCCHAIN" VERSION="1" LANGU="E" DESCRIPT="xlcalcChain XML File Name" EXPOSURE="1" STATE="1" EDITORDER="11 " ATTDECLTYP="2" ATTVALUE="'xl/calcChain.xml'" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
||||
<attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="C_XL_DRAWINGS" VERSION="1" LANGU="E" DESCRIPT="xlDrawings XML File Name" EXPOSURE="1" STATE="1" EDITORDER="7 " ATTDECLTYP="2" ATTVALUE="'xl/drawings/drawing#.xml'" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
||||
<attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="C_XL_DRAWINGS_RELS" VERSION="1" LANGU="E" DESCRIPT="xlDrawings XML File Name" EXPOSURE="1" STATE="1" EDITORDER="8 " ATTDECLTYP="2" ATTVALUE="'xl/drawings/_rels/drawing#.xml.rels'" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
||||
<attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="C_XL_PRINTERSETTINGS" VERSION="1" LANGU="E" DESCRIPT="xlDrawings XML File Name" EXPOSURE="1" STATE="1" EDITORDER="21 " ATTDECLTYP="2" ATTVALUE="'xl/printerSettings/printerSettings#.bin'" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
||||
<attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="C_XL_PRINTERSETTINGS" VERSION="1" LANGU="E" DESCRIPT="xlDrawings XML File Name" EXPOSURE="0" STATE="1" EDITORDER="21 " ATTDECLTYP="2" ATTVALUE="'xl/printerSettings/printerSettings#.bin'" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
||||
<attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="C_XL_RELATIONSHIPS" VERSION="1" LANGU="E" DESCRIPT="xlRels XML File Name" EXPOSURE="1" STATE="1" EDITORDER="9 " ATTDECLTYP="2" ATTVALUE="'xl/_rels/workbook.xml.rels'" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
||||
<attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="C_XL_SHAREDSTRINGS" VERSION="1" LANGU="E" DESCRIPT="xlSharedStrings XML File Name" EXPOSURE="1" STATE="1" EDITORDER="10 " ATTDECLTYP="2" ATTVALUE="'xl/sharedStrings.xml'" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
||||
<attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="C_XL_SHEET" VERSION="1" LANGU="E" DESCRIPT="xlSheet XML File Name Template" EXPOSURE="1" STATE="1" EDITORDER="12 " ATTDECLTYP="2" ATTVALUE="'xl/worksheets/sheet#.xml'" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
||||
|
@ -28,8 +28,8 @@
|
|||
<attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="C_XL_WORKBOOK" VERSION="1" LANGU="E" DESCRIPT="xlWorkbook XML File Name" EXPOSURE="1" STATE="1" EDITORDER="16 " ATTDECLTYP="2" ATTVALUE="'xl/workbook.xml'" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
||||
<attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="EXCEL" VERSION="1" LANGU="E" DESCRIPT="Excel creator" EXPOSURE="1" STATE="1" EDITORDER="17 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
||||
<attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="SHARED_STRINGS" VERSION="1" LANGU="E" DESCRIPT="Shared Strings" EXPOSURE="0" STATE="1" EDITORDER="18 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_T_SHARED_STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
||||
<attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="STYLES_COND_MAPPING" VERSION="1" LANGU="E" DESCRIPT="Styles mapping" EXPOSURE="0" STATE="1" EDITORDER="19 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_T_STYLES_COND_MAPPING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
||||
<attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="STYLES_MAPPING" VERSION="1" LANGU="E" DESCRIPT="Styles mapping" EXPOSURE="0" STATE="1" EDITORDER="20 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_T_STYLES_MAPPING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
||||
<attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="STYLES_COND_MAPPING" VERSION="1" LANGU="E" DESCRIPT="Styles mapping" EXPOSURE="1" STATE="1" EDITORDER="19 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_T_STYLES_COND_MAPPING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
||||
<attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="STYLES_MAPPING" VERSION="1" LANGU="E" DESCRIPT="Styles mapping" EXPOSURE="1" STATE="1" EDITORDER="20 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_T_STYLES_MAPPING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
||||
<interfaceMethod CLSNAME="ZCL_EXCEL_WRITER_2007" CPDNAME="ZIF_EXCEL_WRITER~WRITE_FILE">
|
||||
<source>method ZIF_EXCEL_WRITER~WRITE_FILE.
|
||||
me->excel = io_excel.
|
||||
|
@ -2644,7 +2644,7 @@
|
|||
*--------------------------------------------------------------------*
|
||||
|
||||
TYPES: BEGIN OF colors,
|
||||
colorrgb TYPE zexcel_color,
|
||||
colorrgb TYPE zexcel_color,
|
||||
END OF colors.
|
||||
|
||||
*--------------------------------------------------------------------*
|
||||
|
@ -2653,18 +2653,18 @@
|
|||
*--------------------------------------------------------------------*
|
||||
|
||||
TYPES: BEGIN OF cfvo,
|
||||
value TYPE zexcel_conditional_value,
|
||||
type TYPE zexcel_conditional_type,
|
||||
value TYPE zexcel_conditional_value,
|
||||
type TYPE zexcel_conditional_type,
|
||||
END OF cfvo.
|
||||
|
||||
*--------------------------------------------------------------------*
|
||||
* issue #220 - If cell in tables-area don't use default from row or column or sheet - Declarations 1 - start
|
||||
*--------------------------------------------------------------------*
|
||||
TYPES: BEGIN OF lty_table_area,
|
||||
left TYPE i,
|
||||
right TYPE i,
|
||||
top TYPE i,
|
||||
bottom TYPE i,
|
||||
left TYPE i,
|
||||
right TYPE i,
|
||||
top TYPE i,
|
||||
bottom TYPE i,
|
||||
END OF lty_table_area.
|
||||
*--------------------------------------------------------------------*
|
||||
* issue #220 - If cell in tables-area don't use default from row or column or sheet - Declarations 1 - end
|
||||
|
@ -2816,11 +2816,11 @@
|
|||
lc_xml_attr_tabcolor_rgb TYPE string VALUE 'rgb',
|
||||
lc_xml_attr_tabcolor_theme TYPE string VALUE 'theme',
|
||||
" Node namespace
|
||||
lc_xml_node_ns TYPE string VALUE 'http://schemas.openxmlformats.org/spreadsheetml/2006/main',
|
||||
lc_xml_node_r_ns TYPE string VALUE 'http://schemas.openxmlformats.org/officeDocument/2006/relationships',
|
||||
lc_xml_node_comp_ns TYPE string VALUE 'http://schemas.openxmlformats.org/markup-compatibility/2006',
|
||||
lc_xml_node_comp_pref TYPE string VALUE 'x14ac',
|
||||
lc_xml_node_ig_ns TYPE string VALUE 'http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac'.
|
||||
lc_xml_node_ns TYPE string VALUE 'http://schemas.openxmlformats.org/spreadsheetml/2006/main',
|
||||
lc_xml_node_r_ns TYPE string VALUE 'http://schemas.openxmlformats.org/officeDocument/2006/relationships',
|
||||
lc_xml_node_comp_ns TYPE string VALUE 'http://schemas.openxmlformats.org/markup-compatibility/2006',
|
||||
lc_xml_node_comp_pref TYPE string VALUE 'x14ac',
|
||||
lc_xml_node_ig_ns TYPE string VALUE 'http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac'.
|
||||
|
||||
DATA: lo_ixml TYPE REF TO if_ixml,
|
||||
lo_document TYPE REF TO if_ixml_document,
|
||||
|
@ -2838,6 +2838,7 @@
|
|||
lo_data_validation TYPE REF TO zcl_excel_data_validation,
|
||||
lo_table TYPE REF TO zcl_excel_table,
|
||||
row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi,
|
||||
lo_row_dim_empty TYPE REF TO zcl_excel_worksheet_rowdimensi,
|
||||
default_col_dimension TYPE REF TO zcl_excel_worksheet_columndime,
|
||||
default_row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi.
|
||||
|
||||
|
@ -2870,6 +2871,10 @@
|
|||
lv_relation_id TYPE i VALUE 0,
|
||||
outline_level_row TYPE i VALUE 0,
|
||||
outline_level_col TYPE i VALUE 0,
|
||||
lv_current_row TYPE i,
|
||||
lv_next_row TYPE i,
|
||||
ls_sheet_content LIKE LINE OF io_worksheet->sheet_content,
|
||||
ls_sheet_content_empty LIKE LINE OF io_worksheet->sheet_content,
|
||||
col_count TYPE int4,
|
||||
merge_count TYPE int4,
|
||||
write_current_row TYPE boolean,
|
||||
|
@ -3353,79 +3358,108 @@
|
|||
* issue #220 - If cell in tables-area don't use default from row or column or sheet - Coding 1 - end
|
||||
*--------------------------------------------------------------------*
|
||||
|
||||
LOOP AT io_worksheet->sheet_content ASSIGNING <ls_sheet_content>.
|
||||
LOOP AT io_worksheet->sheet_content INTO ls_sheet_content.
|
||||
READ TABLE lt_values INTO ls_values WITH KEY column = ls_last_row-cell_column.
|
||||
IF sy-subrc = 0 AND ls_values-value = ls_last_row-cell_value.
|
||||
CLEAR l_autofilter_hidden.
|
||||
ENDIF.
|
||||
CLEAR ls_style_mapping.
|
||||
IF ls_last_row-cell_row NE <ls_sheet_content>-cell_row.
|
||||
IF lo_autofilter IS BOUND.
|
||||
IF ls_area-row_start >= ls_last_row-cell_row OR " One less for header
|
||||
ls_area-row_end < ls_last_row-cell_row .
|
||||
* Create row element
|
||||
* issues #346,#154, #195 - problems when we have information in row_dimension but no cell content in that row
|
||||
* Get next line that may have to be added. If we have empty lines this is the next line after previous cell content
|
||||
* Otherwise it is the line of the current cell content
|
||||
lv_current_row = ls_last_row-cell_row + 1.
|
||||
IF lv_current_row > ls_sheet_content-cell_row.
|
||||
lv_current_row = ls_sheet_content-cell_row.
|
||||
ENDIF.
|
||||
* Fill in empty lines if necessary - assign an emtpy sheet content
|
||||
lv_next_row = lv_current_row.
|
||||
WHILE lv_next_row <= ls_sheet_content-cell_row.
|
||||
lv_current_row = lv_next_row.
|
||||
lv_next_row = lv_current_row + 1.
|
||||
IF lv_current_row = ls_sheet_content-cell_row. " cell value found in this row
|
||||
ASSIGN ls_sheet_content TO <ls_sheet_content>.
|
||||
ELSE.
|
||||
* Check if empty row is really necessary - this is basically the case when we have information in row_dimension
|
||||
lo_row_dim_empty = io_worksheet->get_row_dimension( lv_current_row ).
|
||||
CHECK lo_row_dim_empty->get_row_height( ) >= 0 OR
|
||||
lo_row_dim_empty->get_collapsed( ) = abap_true OR
|
||||
lo_row_dim_empty->get_outline_level( ) > 0 OR
|
||||
lo_row_dim_empty->get_xf_index( ) <> 0.
|
||||
" Dummyentry A1
|
||||
ls_sheet_content_empty-cell_row = lv_current_row.
|
||||
ls_sheet_content_empty-cell_column = 1.
|
||||
ASSIGN ls_sheet_content_empty TO <ls_sheet_content>.
|
||||
ENDIF.
|
||||
|
||||
IF ls_last_row-cell_row NE <ls_sheet_content>-cell_row.
|
||||
IF lo_autofilter IS BOUND.
|
||||
IF ls_area-row_start >= ls_last_row-cell_row OR " One less for header
|
||||
ls_area-row_end < ls_last_row-cell_row .
|
||||
CLEAR l_autofilter_hidden.
|
||||
ENDIF.
|
||||
ELSE.
|
||||
CLEAR l_autofilter_hidden.
|
||||
ENDIF.
|
||||
ELSE.
|
||||
CLEAR l_autofilter_hidden.
|
||||
ENDIF.
|
||||
IF ls_last_row-cell_row IS NOT INITIAL.
|
||||
" Row visibility of previos row.
|
||||
IF row_dimension->get_visible( ) = abap_false OR
|
||||
l_autofilter_hidden = abap_true.
|
||||
lo_element_2->set_attribute_ns( name = 'hidden' value = 'true').
|
||||
IF ls_last_row-cell_row IS NOT INITIAL.
|
||||
" Row visibility of previos row.
|
||||
IF row_dimension->get_visible( ) = abap_false OR
|
||||
l_autofilter_hidden = abap_true.
|
||||
lo_element_2->set_attribute_ns( name = 'hidden' value = 'true').
|
||||
ENDIF.
|
||||
lo_element->append_child( new_child = lo_element_2 ). " row node
|
||||
ENDIF.
|
||||
lo_element->append_child( new_child = lo_element_2 ). " row node
|
||||
ENDIF.
|
||||
" Add new row
|
||||
lo_element_2 = lo_document->create_simple_element( name = lc_xml_node_row
|
||||
parent = lo_document ).
|
||||
" r
|
||||
lv_value = <ls_sheet_content>-cell_row.
|
||||
SHIFT lv_value RIGHT DELETING TRAILING space.
|
||||
SHIFT lv_value LEFT DELETING LEADING space.
|
||||
" Add new row
|
||||
lo_element_2 = lo_document->create_simple_element( name = lc_xml_node_row
|
||||
parent = lo_document ).
|
||||
" r
|
||||
lv_value = <ls_sheet_content>-cell_row.
|
||||
SHIFT lv_value RIGHT DELETING TRAILING space.
|
||||
SHIFT lv_value LEFT DELETING LEADING space.
|
||||
|
||||
lo_element_2->set_attribute_ns( name = lc_xml_attr_r
|
||||
value = lv_value ).
|
||||
" Spans
|
||||
lv_value = col_count.
|
||||
CONCATENATE '1:' lv_value INTO lv_value.
|
||||
SHIFT lv_value RIGHT DELETING TRAILING space.
|
||||
SHIFT lv_value LEFT DELETING LEADING space.
|
||||
lo_element_2->set_attribute_ns( name = lc_xml_attr_spans
|
||||
value = lv_value ).
|
||||
row_dimension = io_worksheet->get_row_dimension( <ls_sheet_content>-cell_row ).
|
||||
" Do we need the row dimension attributes?
|
||||
IF row_dimension->get_row_height( ) >= 0 OR
|
||||
row_dimension->get_collapsed( ) = abap_true OR
|
||||
row_dimension->get_outline_level( ) > 0 OR
|
||||
row_dimension->get_xf_index( ) <> 0 OR
|
||||
l_autofilter_hidden = abap_true.
|
||||
" Row dimensions
|
||||
IF row_dimension->get_row_height( ) >= 0.
|
||||
lo_element_2->set_attribute_ns( name = 'customHeight' value = '1').
|
||||
lv_value = row_dimension->get_row_height( ).
|
||||
lo_element_2->set_attribute_ns( name = 'ht' value = lv_value ).
|
||||
ENDIF.
|
||||
" Collapsed
|
||||
IF row_dimension->get_collapsed( ) = abap_true.
|
||||
lo_element_2->set_attribute_ns( name = 'collapsed' value = 'true').
|
||||
ENDIF.
|
||||
" Outline level
|
||||
IF row_dimension->get_outline_level( ) > 0.
|
||||
lv_value = row_dimension->get_outline_level( ).
|
||||
SHIFT lv_value RIGHT DELETING TRAILING space.
|
||||
SHIFT lv_value LEFT DELETING LEADING space.
|
||||
lo_element_2->set_attribute_ns( name = 'outlineLevel' value = lv_value ).
|
||||
ENDIF.
|
||||
" Style
|
||||
IF row_dimension->get_xf_index( ) <> 0.
|
||||
lv_value = row_dimension->get_xf_index( ).
|
||||
lo_element_2->set_attribute_ns( name = 's' value = lv_value ).
|
||||
lo_element_2->set_attribute_ns( name = 'customFormat' value = '1').
|
||||
lo_element_2->set_attribute_ns( name = lc_xml_attr_r
|
||||
value = lv_value ).
|
||||
" Spans
|
||||
lv_value = col_count.
|
||||
CONCATENATE '1:' lv_value INTO lv_value.
|
||||
SHIFT lv_value RIGHT DELETING TRAILING space.
|
||||
SHIFT lv_value LEFT DELETING LEADING space.
|
||||
lo_element_2->set_attribute_ns( name = lc_xml_attr_spans
|
||||
value = lv_value ).
|
||||
row_dimension = io_worksheet->get_row_dimension( <ls_sheet_content>-cell_row ).
|
||||
" Do we need the row dimension attributes?
|
||||
IF row_dimension->get_row_height( ) >= 0 OR
|
||||
row_dimension->get_collapsed( ) = abap_true OR
|
||||
row_dimension->get_outline_level( ) > 0 OR
|
||||
row_dimension->get_xf_index( ) <> 0 OR
|
||||
l_autofilter_hidden = abap_true.
|
||||
" Row dimensions
|
||||
IF row_dimension->get_row_height( ) >= 0.
|
||||
lo_element_2->set_attribute_ns( name = 'customHeight' value = '1').
|
||||
lv_value = row_dimension->get_row_height( ).
|
||||
lo_element_2->set_attribute_ns( name = 'ht' value = lv_value ).
|
||||
ENDIF.
|
||||
" Collapsed
|
||||
IF row_dimension->get_collapsed( ) = abap_true.
|
||||
lo_element_2->set_attribute_ns( name = 'collapsed' value = 'true').
|
||||
ENDIF.
|
||||
" Outline level
|
||||
IF row_dimension->get_outline_level( ) > 0.
|
||||
lv_value = row_dimension->get_outline_level( ).
|
||||
SHIFT lv_value RIGHT DELETING TRAILING space.
|
||||
SHIFT lv_value LEFT DELETING LEADING space.
|
||||
lo_element_2->set_attribute_ns( name = 'outlineLevel' value = lv_value ).
|
||||
ENDIF.
|
||||
" Style
|
||||
IF row_dimension->get_xf_index( ) <> 0.
|
||||
lv_value = row_dimension->get_xf_index( ).
|
||||
lo_element_2->set_attribute_ns( name = 's' value = lv_value ).
|
||||
lo_element_2->set_attribute_ns( name = 'customFormat' value = '1').
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
l_autofilter_hidden = abap_true. " First default is not showing
|
||||
ENDIF.
|
||||
l_autofilter_hidden = abap_true. " First default is not showing
|
||||
ENDIF.
|
||||
ENDWHILE.
|
||||
|
||||
lo_element_3 = lo_document->create_simple_element( name = lc_xml_node_c
|
||||
parent = lo_document ).
|
||||
|
@ -3508,7 +3542,7 @@
|
|||
lo_element_4 = lo_document->create_simple_element( name = lc_xml_node_v
|
||||
parent = lo_document ).
|
||||
|
||||
IF <ls_sheet_content>-data_type EQ 's' or <ls_sheet_content>-data_type EQ 's_leading_blanks'.
|
||||
IF <ls_sheet_content>-data_type EQ 's' OR <ls_sheet_content>-data_type EQ 's_leading_blanks'.
|
||||
lv_value = me->get_shared_string_index( <ls_sheet_content>-cell_value ).
|
||||
CONDENSE lv_value.
|
||||
lo_element_4->set_value( value = lv_value ).
|
||||
|
@ -4037,7 +4071,7 @@
|
|||
|
||||
" Hyperlinks
|
||||
DATA: lv_hyperlinks_count TYPE i,
|
||||
lo_link TYPE REF TO zcl_excel_hyperlink.
|
||||
lo_link TYPE REF TO zcl_excel_hyperlink.
|
||||
|
||||
lv_hyperlinks_count = io_worksheet->get_hyperlinks_size( ).
|
||||
IF lv_hyperlinks_count > 0.
|
||||
|
@ -6174,10 +6208,10 @@ ENDMETHOD.</source>
|
|||
ENDIF.
|
||||
endmethod.</source>
|
||||
</method>
|
||||
<method CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="GET_SHARED_STRING_INDEX" VERSION="1" LANGU="E" DESCRIPT="Get shared string index" EXPOSURE="0" STATE="1" EDITORDER="20 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
|
||||
<method CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="GET_SHARED_STRING_INDEX" VERSION="1" LANGU="E" DESCRIPT="Get shared string index" EXPOSURE="1" STATE="1" EDITORDER="20 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
|
||||
<parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="GET_SHARED_STRING_INDEX" SCONAME="IP_CELL_VALUE" VERSION="1" LANGU="E" DESCRIPT="Cell Value" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_VALUE"/>
|
||||
<parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="GET_SHARED_STRING_INDEX" SCONAME="EP_INDEX" VERSION="1" LANGU="E" DESCRIPT="Natural Number" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="INT4"/>
|
||||
<source>method GET_SHARED_STRING_INDEX.
|
||||
<source>METHOD get_shared_string_index.
|
||||
|
||||
|
||||
DATA ls_shared_string TYPE zexcel_s_shared_string.
|
||||
|
@ -6185,6 +6219,6 @@ ENDMETHOD.</source>
|
|||
READ TABLE shared_strings INTO ls_shared_string WITH KEY string_value = ip_cell_value BINARY SEARCH.
|
||||
ep_index = ls_shared_string-string_no.
|
||||
|
||||
endmethod.</source>
|
||||
ENDMETHOD.</source>
|
||||
</method>
|
||||
</CLAS>
|
||||
|
|
Loading…
Reference in New Issue
Block a user