mirror of
https://github.com/abap2xlsx/abap2xlsx.git
synced 2025-05-05 13:46:17 +08:00
Add extraction of data validations
This commit is contained in:
parent
8811d2c755
commit
4310280806
|
@ -106,8 +106,8 @@
|
||||||
<attribute CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="ALTERNATE_ZIP" VERSION="1" LANGU="E" DESCRIPT="Alternate Zip Utility" EXPOSURE="0" STATE="1" EDITORDER="3 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="OBJECT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
<attribute CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="ALTERNATE_ZIP" VERSION="1" LANGU="E" DESCRIPT="Alternate Zip Utility" EXPOSURE="0" STATE="1" EDITORDER="3 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="OBJECT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
||||||
<attribute CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="EXCEL2007" VERSION="1" LANGU="E" DESCRIPT="Excel 2007 data" EXPOSURE="0" STATE="1" EDITORDER="1 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="XSTRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
<attribute CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="EXCEL2007" VERSION="1" LANGU="E" DESCRIPT="Excel 2007 data" EXPOSURE="0" STATE="1" EDITORDER="1 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="XSTRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
||||||
<attribute CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="MT_REF_FORMULAE" VERSION="1" LANGU="E" DESCRIPT="Referenced formulae before resolving" EXPOSURE="0" STATE="1" EDITORDER="6 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="TYT_REF_FORMULAE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
<attribute CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="MT_REF_FORMULAE" VERSION="1" LANGU="E" DESCRIPT="Referenced formulae before resolving" EXPOSURE="0" STATE="1" EDITORDER="6 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="TYT_REF_FORMULAE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
||||||
<attribute CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="SHARED_STRINGS" VERSION="1" LANGU="E" DESCRIPT="Table with Strings" EXPOSURE="0" STATE="1" EDITORDER="4 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRINGTAB" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
<attribute CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="SHARED_STRINGS" VERSION="1" LANGU="E" DESCRIPT="Table with Strings" EXPOSURE="1" STATE="1" EDITORDER="4 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRINGTAB" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
||||||
<attribute CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="STYLES" VERSION="1" LANGU="E" EXPOSURE="0" STATE="1" EDITORDER="5 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="T_STYLE_REFS" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
<attribute CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="STYLES" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="5 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="T_STYLE_REFS" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
||||||
<attribute CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="ZIP" VERSION="1" LANGU="E" DESCRIPT="Zip Utility" EXPOSURE="0" STATE="1" EDITORDER="2 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="CL_ABAP_ZIP" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
<attribute CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="ZIP" VERSION="1" LANGU="E" DESCRIPT="Zip Utility" EXPOSURE="0" STATE="1" EDITORDER="2 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="CL_ABAP_ZIP" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
||||||
<interfaceMethod CLSNAME="ZCL_EXCEL_READER_2007" CPDNAME="ZIF_EXCEL_READER~CAN_READ_FILE">
|
<interfaceMethod CLSNAME="ZCL_EXCEL_READER_2007" CPDNAME="ZIF_EXCEL_READER~CAN_READ_FILE">
|
||||||
<source>method ZIF_EXCEL_READER~CAN_READ_FILE.
|
<source>method ZIF_EXCEL_READER~CAN_READ_FILE.
|
||||||
|
@ -120,7 +120,7 @@
|
||||||
*--------------------------------------------------------------------*
|
*--------------------------------------------------------------------*
|
||||||
* For now always Unknown
|
* For now always Unknown
|
||||||
r_readable = abap_undefined.
|
r_readable = abap_undefined.
|
||||||
endmethod.</source>
|
endmethod.</source>
|
||||||
</interfaceMethod>
|
</interfaceMethod>
|
||||||
<interfaceMethod CLSNAME="ZCL_EXCEL_READER_2007" CPDNAME="ZIF_EXCEL_READER~LOAD">
|
<interfaceMethod CLSNAME="ZCL_EXCEL_READER_2007" CPDNAME="ZIF_EXCEL_READER~LOAD">
|
||||||
<source>method ZIF_EXCEL_READER~LOAD.
|
<source>method ZIF_EXCEL_READER~LOAD.
|
||||||
|
@ -186,7 +186,7 @@ endmethod.</source>
|
||||||
|
|
||||||
*--------------------------------------------------------------------*
|
*--------------------------------------------------------------------*
|
||||||
* issue#234 - error reading xlsx written by libre office
|
* issue#234 - error reading xlsx written by libre office
|
||||||
me->zif_excel_reader~gv_use_alternate_zip = iv_use_alternate_zip.
|
me->zif_excel_reader~gv_use_alternate_zip = i_use_alternate_zip.
|
||||||
*--------------------------------------------------------------------*
|
*--------------------------------------------------------------------*
|
||||||
|
|
||||||
|
|
||||||
|
@ -223,10 +223,10 @@ endmethod.</source>
|
||||||
ENDWHILE.
|
ENDWHILE.
|
||||||
|
|
||||||
|
|
||||||
endmethod.</source>
|
endmethod.</source>
|
||||||
</interfaceMethod>
|
</interfaceMethod>
|
||||||
<interfaceMethod CLSNAME="ZCL_EXCEL_READER_2007" CPDNAME="ZIF_EXCEL_READER~LOAD_FILE">
|
<interfaceMethod CLSNAME="ZCL_EXCEL_READER_2007" CPDNAME="ZIF_EXCEL_READER~LOAD_FILE">
|
||||||
<source>method ZIF_EXCEL_READER~LOAD_FILE.
|
<source>METHOD zif_excel_reader~load_file.
|
||||||
*--------------------------------------------------------------------*
|
*--------------------------------------------------------------------*
|
||||||
* ToDos:
|
* ToDos:
|
||||||
* 2do§1 decision whether to load from frontend or backend
|
* 2do§1 decision whether to load from frontend or backend
|
||||||
|
@ -255,126 +255,24 @@ endmethod.</source>
|
||||||
* changes: passing new optional input parameter to private attribute
|
* changes: passing new optional input parameter to private attribute
|
||||||
*--------------------------------------------------------------------*
|
*--------------------------------------------------------------------*
|
||||||
|
|
||||||
CONSTANTS: lcv_load_from_frontend TYPE char1 VALUE 'F',
|
DATA: lv_excel_data TYPE xstring.
|
||||||
lcv_load_from_backend TYPE char1 VALUE 'B'.
|
|
||||||
|
|
||||||
DATA: lv_load_from_source TYPE char1,
|
|
||||||
|
|
||||||
lv_filelength TYPE i,
|
|
||||||
lt_binary_data TYPE STANDARD TABLE OF x255 WITH NON-UNIQUE DEFAULT KEY,
|
|
||||||
ls_binary_data LIKE LINE OF lt_binary_data,
|
|
||||||
* Background processing
|
|
||||||
lv_max_length_line TYPE i,
|
|
||||||
lv_actual_length_line TYPE i,
|
|
||||||
|
|
||||||
lv_errormessage TYPE string, " Can't pass '...'(abc) to exception-class
|
|
||||||
lv_excel_data TYPE xstring. " Binary content of .xlsx file
|
|
||||||
|
|
||||||
|
|
||||||
*--------------------------------------------------------------------*
|
|
||||||
* ToDos: 2do§1 Decision whether to load from frontend or backend
|
|
||||||
*--------------------------------------------------------------------*
|
|
||||||
|
|
||||||
*--------------------------------------------------------------------*
|
|
||||||
* issue#234 - error reading xlsx written by libre office
|
* issue#234 - error reading xlsx written by libre office
|
||||||
me->zif_excel_reader~gv_use_alternate_zip = iv_use_alternate_zip.
|
me->zif_excel_reader~gv_use_alternate_zip = i_use_alternate_zip.
|
||||||
*--------------------------------------------------------------------*
|
|
||||||
|
|
||||||
|
IF i_from_applserver = abap_true.
|
||||||
*--------------------------------------------------------------------*
|
lv_excel_data = me->read_from_applserver( i_filename = i_filename ).
|
||||||
* Autodecide on frontend or backend reading
|
|
||||||
* Background-processing --> backend reading
|
|
||||||
* Online-processing --> frontend reading
|
|
||||||
*--------------------------------------------------------------------*
|
|
||||||
IF sy-batch = abap_true.
|
|
||||||
lv_load_from_source = lcv_load_from_backend.
|
|
||||||
ELSE.
|
ELSE.
|
||||||
lv_load_from_source = lcv_load_from_frontend.
|
lv_excel_data = me->read_from_local_file( i_filename = i_filename ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
CASE lv_load_from_source.
|
|
||||||
|
|
||||||
*--------------------------------------------------------------------*
|
|
||||||
* Read from backend
|
|
||||||
*--------------------------------------------------------------------*
|
|
||||||
WHEN lcv_load_from_backend.
|
|
||||||
DESCRIBE FIELD ls_binary_data LENGTH lv_max_length_line IN BYTE MODE.
|
|
||||||
OPEN DATASET i_filename FOR INPUT IN BINARY MODE.
|
|
||||||
IF sy-subrc <> 0.
|
|
||||||
lv_errormessage = 'A problem occured when reading the file'(001).
|
|
||||||
RAISE EXCEPTION TYPE zcx_excel
|
|
||||||
EXPORTING
|
|
||||||
error = lv_errormessage.
|
|
||||||
ENDIF.
|
|
||||||
WHILE sy-subrc = 0.
|
|
||||||
|
|
||||||
READ DATASET i_filename INTO ls_binary_data MAXIMUM LENGTH lv_max_length_line ACTUAL LENGTH lv_actual_length_line.
|
|
||||||
APPEND ls_binary_data TO lt_binary_data.
|
|
||||||
lv_filelength = lv_filelength + lv_actual_length_line.
|
|
||||||
|
|
||||||
ENDWHILE.
|
|
||||||
CLOSE DATASET i_filename.
|
|
||||||
|
|
||||||
*--------------------------------------------------------------------*
|
|
||||||
* Read from frontend
|
|
||||||
*--------------------------------------------------------------------*
|
|
||||||
WHEN lcv_load_from_frontend.
|
|
||||||
cl_gui_frontend_services=>gui_upload( EXPORTING
|
|
||||||
filename = i_filename
|
|
||||||
filetype = 'BIN' " We are basically working with zipped directories --> force binary read
|
|
||||||
IMPORTING
|
|
||||||
filelength = lv_filelength
|
|
||||||
CHANGING
|
|
||||||
data_tab = lt_binary_data
|
|
||||||
EXCEPTIONS
|
|
||||||
file_open_error = 1
|
|
||||||
file_read_error = 2
|
|
||||||
no_batch = 3
|
|
||||||
gui_refuse_filetransfer = 4
|
|
||||||
invalid_type = 5
|
|
||||||
no_authority = 6
|
|
||||||
unknown_error = 7
|
|
||||||
bad_data_format = 8
|
|
||||||
header_not_allowed = 9
|
|
||||||
separator_not_allowed = 10
|
|
||||||
header_too_long = 11
|
|
||||||
unknown_dp_error = 12
|
|
||||||
access_denied = 13
|
|
||||||
dp_out_of_memory = 14
|
|
||||||
disk_full = 15
|
|
||||||
dp_timeout = 16
|
|
||||||
not_supported_by_gui = 17
|
|
||||||
error_no_gui = 18
|
|
||||||
OTHERS = 19 ).
|
|
||||||
IF sy-subrc <> 0.
|
|
||||||
lv_errormessage = 'A problem occured when reading the file'(001).
|
|
||||||
RAISE EXCEPTION TYPE zcx_excel
|
|
||||||
EXPORTING
|
|
||||||
error = lv_errormessage.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
ENDCASE.
|
|
||||||
|
|
||||||
|
|
||||||
*--------------------------------------------------------------------*
|
|
||||||
* Binary data needs to be provided as XSTRING for further processing
|
|
||||||
*--------------------------------------------------------------------*
|
|
||||||
CALL FUNCTION 'SCMS_BINARY_TO_XSTRING'
|
|
||||||
EXPORTING
|
|
||||||
input_length = lv_filelength
|
|
||||||
IMPORTING
|
|
||||||
buffer = lv_excel_data
|
|
||||||
TABLES
|
|
||||||
binary_tab = lt_binary_data.
|
|
||||||
|
|
||||||
*--------------------------------------------------------------------*
|
*--------------------------------------------------------------------*
|
||||||
* issue#234 - error reading xlsx written by libre office
|
* issue#234 - error reading xlsx written by libre office
|
||||||
r_excel = me->zif_excel_reader~load( i_excel2007 = lv_excel_data
|
r_excel = me->zif_excel_reader~load( i_excel2007 = lv_excel_data
|
||||||
iv_use_alternate_zip = iv_use_alternate_zip ).
|
i_use_alternate_zip = i_use_alternate_zip ).
|
||||||
*--------------------------------------------------------------------*
|
*--------------------------------------------------------------------*
|
||||||
|
|
||||||
|
ENDMETHOD.</source>
|
||||||
endmethod.</source>
|
|
||||||
</interfaceMethod>
|
</interfaceMethod>
|
||||||
<method CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="FILL_STRUCT_FROM_ATTRIBUTES" VERSION="1" LANGU="E" DESCRIPT="Fills structure fields based on XML node attributes" EXPOSURE="2" STATE="1" EDITORDER="3 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
|
<method CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="FILL_STRUCT_FROM_ATTRIBUTES" VERSION="1" LANGU="E" DESCRIPT="Fills structure fields based on XML node attributes" EXPOSURE="2" STATE="1" EDITORDER="3 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
|
||||||
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="FILL_STRUCT_FROM_ATTRIBUTES" SCONAME="IP_ELEMENT" VERSION="1" LANGU="E" DESCRIPT="IF_IXML_ELEMENT" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="IF_IXML_ELEMENT"/>
|
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="FILL_STRUCT_FROM_ATTRIBUTES" SCONAME="IP_ELEMENT" VERSION="1" LANGU="E" DESCRIPT="IF_IXML_ELEMENT" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="IF_IXML_ELEMENT"/>
|
||||||
|
@ -425,7 +323,7 @@ endmethod.</source>
|
||||||
ENDWHILE.
|
ENDWHILE.
|
||||||
|
|
||||||
|
|
||||||
endmethod.</source>
|
endmethod.</source>
|
||||||
</method>
|
</method>
|
||||||
<method CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="GET_FROM_ZIP_ARCHIVE" VERSION="1" LANGU="E" DESCRIPT="Read file from ZIP Archive" EXPOSURE="1" STATE="1" EDITORDER="2 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
|
<method CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="GET_FROM_ZIP_ARCHIVE" VERSION="1" LANGU="E" DESCRIPT="Read file from ZIP Archive" EXPOSURE="1" STATE="1" EDITORDER="2 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
|
||||||
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="GET_FROM_ZIP_ARCHIVE" SCONAME="I_FILENAME" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="STRING"/>
|
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="GET_FROM_ZIP_ARCHIVE" SCONAME="I_FILENAME" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="STRING"/>
|
||||||
|
@ -551,7 +449,7 @@ endmethod.</source>
|
||||||
* issue#234 - end of insertion
|
* issue#234 - end of insertion
|
||||||
*--------------------------------------------------------------------*
|
*--------------------------------------------------------------------*
|
||||||
|
|
||||||
endmethod.</source>
|
endmethod.</source>
|
||||||
</method>
|
</method>
|
||||||
<method CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="GET_IXML_FROM_ZIP_ARCHIVE" VERSION="1" LANGU="E" DESCRIPT="Read file from ZIP Archive" EXPOSURE="1" STATE="1" EDITORDER="4 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
|
<method CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="GET_IXML_FROM_ZIP_ARCHIVE" VERSION="1" LANGU="E" DESCRIPT="Read file from ZIP Archive" EXPOSURE="1" STATE="1" EDITORDER="4 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
|
||||||
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="GET_IXML_FROM_ZIP_ARCHIVE" SCONAME="I_FILENAME" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="STRING"/>
|
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="GET_IXML_FROM_ZIP_ARCHIVE" SCONAME="I_FILENAME" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="STRING"/>
|
||||||
|
@ -597,7 +495,7 @@ endmethod.</source>
|
||||||
lo_parser->set_validating( mode = if_ixml_parser=>co_no_validation ).
|
lo_parser->set_validating( mode = if_ixml_parser=>co_no_validation ).
|
||||||
lo_parser->parse( ).
|
lo_parser->parse( ).
|
||||||
|
|
||||||
endmethod.</source>
|
endmethod.</source>
|
||||||
</method>
|
</method>
|
||||||
<method CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_DRAWING_ANCHOR" VERSION="1" LANGU="E" DESCRIPT="Loads worksheet" EXPOSURE="1" STATE="1" EDITORDER="6 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
|
<method CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_DRAWING_ANCHOR" VERSION="1" LANGU="E" DESCRIPT="Loads worksheet" EXPOSURE="1" STATE="1" EDITORDER="6 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
|
||||||
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_DRAWING_ANCHOR" SCONAME="IO_ANCHOR_ELEMENT" VERSION="1" LANGU="E" DESCRIPT="IF_IXML_ELEMENT" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="IF_IXML_ELEMENT"/>
|
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_DRAWING_ANCHOR" SCONAME="IO_ANCHOR_ELEMENT" VERSION="1" LANGU="E" DESCRIPT="IF_IXML_ELEMENT" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="IF_IXML_ELEMENT"/>
|
||||||
|
@ -749,7 +647,7 @@ endmethod.</source>
|
||||||
lo_drawing->load_chart_attributes( rel_drawing-content_xml ).
|
lo_drawing->load_chart_attributes( rel_drawing-content_xml ).
|
||||||
endif.
|
endif.
|
||||||
|
|
||||||
endmethod.</source>
|
endmethod.</source>
|
||||||
</method>
|
</method>
|
||||||
<method CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_SHARED_STRINGS" VERSION="1" LANGU="E" DESCRIPT="Loads shared strings table" EXPOSURE="1" STATE="1" EDITORDER="9 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
|
<method CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_SHARED_STRINGS" VERSION="1" LANGU="E" DESCRIPT="Loads shared strings table" EXPOSURE="1" STATE="1" EDITORDER="9 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
|
||||||
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_SHARED_STRINGS" SCONAME="IP_PATH" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="STRING"/>
|
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_SHARED_STRINGS" SCONAME="IP_PATH" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="STRING"/>
|
||||||
|
@ -868,7 +766,7 @@ endmethod.</source>
|
||||||
lo_node_si ?= lo_node_si->get_next( ).
|
lo_node_si ?= lo_node_si->get_next( ).
|
||||||
ENDWHILE.
|
ENDWHILE.
|
||||||
|
|
||||||
endmethod.</source>
|
endmethod.</source>
|
||||||
</method>
|
</method>
|
||||||
<method CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_STYLES" VERSION="1" LANGU="E" DESCRIPT="Loads styles" EXPOSURE="1" STATE="1" EDITORDER="10 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
|
<method CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_STYLES" VERSION="1" LANGU="E" DESCRIPT="Loads styles" EXPOSURE="1" STATE="1" EDITORDER="10 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
|
||||||
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_STYLES" SCONAME="IP_PATH" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="STRING"/>
|
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_STYLES" SCONAME="IP_PATH" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="STRING"/>
|
||||||
|
@ -1107,7 +1005,7 @@ endmethod.</source>
|
||||||
ENDWHILE.
|
ENDWHILE.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
endmethod.</source>
|
endmethod.</source>
|
||||||
</method>
|
</method>
|
||||||
<method CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_STYLE_BORDERS" VERSION="1" LANGU="E" DESCRIPT="Loads 'borders' part of styles" EXPOSURE="1" STATE="1" EDITORDER="11 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
|
<method CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_STYLE_BORDERS" VERSION="1" LANGU="E" DESCRIPT="Loads 'borders' part of styles" EXPOSURE="1" STATE="1" EDITORDER="11 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
|
||||||
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_STYLE_BORDERS" SCONAME="IP_XML" VERSION="1" LANGU="E" DESCRIPT="IF_IXML_DOCUMENT" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="IF_IXML_DOCUMENT"/>
|
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_STYLE_BORDERS" SCONAME="IP_XML" VERSION="1" LANGU="E" DESCRIPT="IF_IXML_DOCUMENT" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="IF_IXML_DOCUMENT"/>
|
||||||
|
@ -1237,7 +1135,7 @@ endmethod.</source>
|
||||||
ENDWHILE.
|
ENDWHILE.
|
||||||
|
|
||||||
|
|
||||||
endmethod.</source>
|
endmethod.</source>
|
||||||
</method>
|
</method>
|
||||||
<method CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_STYLE_FILLS" VERSION="1" LANGU="E" DESCRIPT="Loads 'fills' part of styles" EXPOSURE="1" STATE="1" EDITORDER="12 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
|
<method CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_STYLE_FILLS" VERSION="1" LANGU="E" DESCRIPT="Loads 'fills' part of styles" EXPOSURE="1" STATE="1" EDITORDER="12 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
|
||||||
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_STYLE_FILLS" SCONAME="IP_XML" VERSION="1" LANGU="E" DESCRIPT="IF_IXML_DOCUMENT" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="IF_IXML_DOCUMENT"/>
|
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_STYLE_FILLS" SCONAME="IP_XML" VERSION="1" LANGU="E" DESCRIPT="IF_IXML_DOCUMENT" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="IF_IXML_DOCUMENT"/>
|
||||||
|
@ -1355,7 +1253,7 @@ endmethod.</source>
|
||||||
ENDWHILE.
|
ENDWHILE.
|
||||||
|
|
||||||
|
|
||||||
endmethod.</source>
|
endmethod.</source>
|
||||||
</method>
|
</method>
|
||||||
<method CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_STYLE_FONTS" VERSION="1" LANGU="E" DESCRIPT="Loads 'fonts' part of styles" EXPOSURE="1" STATE="1" EDITORDER="13 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
|
<method CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_STYLE_FONTS" VERSION="1" LANGU="E" DESCRIPT="Loads 'fonts' part of styles" EXPOSURE="1" STATE="1" EDITORDER="13 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
|
||||||
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_STYLE_FONTS" SCONAME="IP_XML" VERSION="1" LANGU="E" DESCRIPT="IF_IXML_DOCUMENT" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="IF_IXML_DOCUMENT"/>
|
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_STYLE_FONTS" SCONAME="IP_XML" VERSION="1" LANGU="E" DESCRIPT="IF_IXML_DOCUMENT" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="IF_IXML_DOCUMENT"/>
|
||||||
|
@ -1481,7 +1379,7 @@ endmethod.</source>
|
||||||
ENDWHILE.
|
ENDWHILE.
|
||||||
|
|
||||||
|
|
||||||
endmethod.</source>
|
endmethod.</source>
|
||||||
</method>
|
</method>
|
||||||
<method CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_STYLE_NUM_FORMATS" VERSION="1" LANGU="E" DESCRIPT="Loads 'number format' part of styles" EXPOSURE="1" STATE="1" EDITORDER="14 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
|
<method CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_STYLE_NUM_FORMATS" VERSION="1" LANGU="E" DESCRIPT="Loads 'number format' part of styles" EXPOSURE="1" STATE="1" EDITORDER="14 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
|
||||||
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_STYLE_NUM_FORMATS" SCONAME="IP_XML" VERSION="1" LANGU="E" DESCRIPT="IF_IXML_DOCUMENT" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="IF_IXML_DOCUMENT"/>
|
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_STYLE_NUM_FORMATS" SCONAME="IP_XML" VERSION="1" LANGU="E" DESCRIPT="IF_IXML_DOCUMENT" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="IF_IXML_DOCUMENT"/>
|
||||||
|
@ -1594,13 +1492,13 @@ endmethod.</source>
|
||||||
* 2do§1 Is 49 really the last predefined format?
|
* 2do§1 Is 49 really the last predefined format?
|
||||||
|
|
||||||
|
|
||||||
endmethod.</source>
|
endmethod.</source>
|
||||||
</method>
|
</method>
|
||||||
<method CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_WORKBOOK" VERSION="1" LANGU="E" DESCRIPT="Loads workbook" EXPOSURE="1" STATE="1" EDITORDER="5 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
|
<method CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_WORKBOOK" VERSION="1" LANGU="E" DESCRIPT="Loads workbook" EXPOSURE="1" STATE="1" EDITORDER="5 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
|
||||||
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_WORKBOOK" SCONAME="IV_WORKBOOK_FULL_FILENAME" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="STRING"/>
|
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_WORKBOOK" SCONAME="IV_WORKBOOK_FULL_FILENAME" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="STRING"/>
|
||||||
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_WORKBOOK" SCONAME="IO_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Excel creator" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL"/>
|
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_WORKBOOK" SCONAME="IO_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Excel creator" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL"/>
|
||||||
<exception CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_WORKBOOK" SCONAME="ZCX_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Exceptions for ABAP2XLSX" MTDTYPE="0" EDITORDER="1 "/>
|
<exception CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_WORKBOOK" SCONAME="ZCX_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Exceptions for ABAP2XLSX" MTDTYPE="0" EDITORDER="1 "/>
|
||||||
<source>METHOD load_workbook.
|
<source>method LOAD_WORKBOOK.
|
||||||
*--------------------------------------------------------------------*
|
*--------------------------------------------------------------------*
|
||||||
* ToDos:
|
* ToDos:
|
||||||
* 2do§1 Move macro-reading from zcl_excel_reader_xlsm to this class
|
* 2do§1 Move macro-reading from zcl_excel_reader_xlsm to this class
|
||||||
|
@ -2013,13 +1911,13 @@ endmethod.</source>
|
||||||
|
|
||||||
ENDWHILE.
|
ENDWHILE.
|
||||||
|
|
||||||
ENDMETHOD.</source>
|
endmethod.</source>
|
||||||
</method>
|
</method>
|
||||||
<method CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_WORKSHEET" VERSION="1" LANGU="E" DESCRIPT="Loads worksheet" EXPOSURE="1" STATE="1" EDITORDER="7 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
|
<method CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_WORKSHEET" VERSION="1" LANGU="E" DESCRIPT="Loads worksheet" EXPOSURE="1" STATE="1" EDITORDER="7 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
|
||||||
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_WORKSHEET" SCONAME="IP_PATH" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="STRING"/>
|
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_WORKSHEET" SCONAME="IP_PATH" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="STRING"/>
|
||||||
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_WORKSHEET" SCONAME="IO_WORKSHEET" VERSION="1" LANGU="E" DESCRIPT="Excel creator" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL_WORKSHEET"/>
|
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_WORKSHEET" SCONAME="IO_WORKSHEET" VERSION="1" LANGU="E" DESCRIPT="Excel creator" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL_WORKSHEET"/>
|
||||||
<exception CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_WORKSHEET" SCONAME="ZCX_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Exceptions for ABAP2XLSX" MTDTYPE="0" EDITORDER="1 "/>
|
<exception CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_WORKSHEET" SCONAME="ZCX_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Exceptions for ABAP2XLSX" MTDTYPE="0" EDITORDER="1 "/>
|
||||||
<source>METHOD load_worksheet.
|
<source>method LOAD_WORKSHEET.
|
||||||
*--------------------------------------------------------------------*
|
*--------------------------------------------------------------------*
|
||||||
* ToDos:
|
* ToDos:
|
||||||
* 2do§1 Header/footer
|
* 2do§1 Header/footer
|
||||||
|
@ -2134,6 +2032,7 @@ ENDMETHOD.</source>
|
||||||
END OF lty_datavalidation.
|
END OF lty_datavalidation.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CONSTANTS: lc_xml_attr_true TYPE string VALUE 'true',
|
CONSTANTS: lc_xml_attr_true TYPE string VALUE 'true',
|
||||||
lc_xml_attr_true_int TYPE string VALUE '1',
|
lc_xml_attr_true_int TYPE string VALUE '1',
|
||||||
lc_rel_drawing TYPE string VALUE 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing',
|
lc_rel_drawing TYPE string VALUE 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing',
|
||||||
|
@ -2227,7 +2126,6 @@ ENDMETHOD.</source>
|
||||||
lv_datavalidation_range TYPE string,
|
lv_datavalidation_range TYPE string,
|
||||||
lt_datavalidation_range TYPE TABLE OF string.
|
lt_datavalidation_range TYPE TABLE OF string.
|
||||||
|
|
||||||
|
|
||||||
*--------------------------------------------------------------------*
|
*--------------------------------------------------------------------*
|
||||||
* §2 We need to read the the file "\\_rels\.rels" because it tells
|
* §2 We need to read the the file "\\_rels\.rels" because it tells
|
||||||
* us where in this folder structure the data for the workbook
|
* us where in this folder structure the data for the workbook
|
||||||
|
@ -2666,7 +2564,6 @@ ENDMETHOD.</source>
|
||||||
" End fix 194 Read attributes HIDDEN, OUTLINELEVEL, COLLAPSED in ZCL_EXCEL_READER_2007
|
" End fix 194 Read attributes HIDDEN, OUTLINELEVEL, COLLAPSED in ZCL_EXCEL_READER_2007
|
||||||
|
|
||||||
" Start fix 276 Read data validations
|
" Start fix 276 Read data validations
|
||||||
"Add merge cell information
|
|
||||||
lo_ixml_datavalidations = lo_ixml_worksheet->get_elements_by_tag_name( name = 'dataValidation' ).
|
lo_ixml_datavalidations = lo_ixml_worksheet->get_elements_by_tag_name( name = 'dataValidation' ).
|
||||||
lo_ixml_iterator = lo_ixml_datavalidations->create_iterator( ).
|
lo_ixml_iterator = lo_ixml_datavalidations->create_iterator( ).
|
||||||
lo_ixml_datavalidation_elem ?= lo_ixml_iterator->get_next( ).
|
lo_ixml_datavalidation_elem ?= lo_ixml_iterator->get_next( ).
|
||||||
|
@ -2717,7 +2614,7 @@ ENDMETHOD.</source>
|
||||||
ENDWHILE.
|
ENDWHILE.
|
||||||
" End fix 276 Read data validations
|
" End fix 276 Read data validations
|
||||||
|
|
||||||
ENDMETHOD.</source>
|
endmethod.</source>
|
||||||
</method>
|
</method>
|
||||||
<method CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_WORKSHEET_DRAWING" VERSION="1" LANGU="E" DESCRIPT="Loads worksheet drawings" EXPOSURE="1" STATE="1" EDITORDER="8 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
|
<method CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_WORKSHEET_DRAWING" VERSION="1" LANGU="E" DESCRIPT="Loads worksheet drawings" EXPOSURE="1" STATE="1" EDITORDER="8 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
|
||||||
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_WORKSHEET_DRAWING" SCONAME="IP_PATH" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="STRING"/>
|
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_WORKSHEET_DRAWING" SCONAME="IP_PATH" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="STRING"/>
|
||||||
|
@ -2787,11 +2684,6 @@ ENDMETHOD.</source>
|
||||||
path2 = path.
|
path2 = path.
|
||||||
zcl_excel_common=>split_file( EXPORTING ip_file = path2
|
zcl_excel_common=>split_file( EXPORTING ip_file = path2
|
||||||
IMPORTING ep_extension = file_ext2 ).
|
IMPORTING ep_extension = file_ext2 ).
|
||||||
* CALL FUNCTION 'CV120_SPLIT_FILE'
|
|
||||||
* EXPORTING
|
|
||||||
* pf_file = path2
|
|
||||||
* IMPORTING
|
|
||||||
* pfx_extension = file_ext2.
|
|
||||||
rel_drawing-file_ext = file_ext2.
|
rel_drawing-file_ext = file_ext2.
|
||||||
|
|
||||||
"-------------Added by Alessandro Iannacci - Should load graph xml
|
"-------------Added by Alessandro Iannacci - Should load graph xml
|
||||||
|
@ -2841,7 +2733,110 @@ ENDMETHOD.</source>
|
||||||
|
|
||||||
ENDDO.
|
ENDDO.
|
||||||
|
|
||||||
endmethod.</source>
|
endmethod.</source>
|
||||||
|
</method>
|
||||||
|
<method CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="READ_FROM_APPLSERVER" VERSION="1" LANGU="E" DESCRIPT="Load excel data from appserver" EXPOSURE="0" STATE="1" EDITORDER="16 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
|
||||||
|
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="READ_FROM_APPLSERVER" SCONAME="I_FILENAME" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="CSEQUENCE"/>
|
||||||
|
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="READ_FROM_APPLSERVER" SCONAME="R_EXCEL_DATA" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="XSTRING"/>
|
||||||
|
<source>METHOD read_from_applserver.
|
||||||
|
|
||||||
|
DATA: lv_filelength TYPE i,
|
||||||
|
lt_binary_data TYPE STANDARD TABLE OF x255 WITH NON-UNIQUE DEFAULT KEY,
|
||||||
|
ls_binary_data LIKE LINE OF lt_binary_data,
|
||||||
|
lv_filename TYPE string,
|
||||||
|
lv_max_length_line TYPE i,
|
||||||
|
lv_actual_length_line TYPE i,
|
||||||
|
lv_errormessage TYPE string.
|
||||||
|
|
||||||
|
MOVE i_filename TO lv_filename.
|
||||||
|
|
||||||
|
DESCRIBE FIELD ls_binary_data LENGTH lv_max_length_line IN BYTE MODE.
|
||||||
|
OPEN DATASET lv_filename FOR INPUT IN BINARY MODE.
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
lv_errormessage = 'A problem occured when reading the file'(001).
|
||||||
|
RAISE EXCEPTION TYPE zcx_excel
|
||||||
|
EXPORTING
|
||||||
|
error = lv_errormessage.
|
||||||
|
ENDIF.
|
||||||
|
WHILE sy-subrc = 0.
|
||||||
|
|
||||||
|
READ DATASET lv_filename INTO ls_binary_data MAXIMUM LENGTH lv_max_length_line ACTUAL LENGTH lv_actual_length_line.
|
||||||
|
APPEND ls_binary_data TO lt_binary_data.
|
||||||
|
lv_filelength = lv_filelength + lv_actual_length_line.
|
||||||
|
|
||||||
|
ENDWHILE.
|
||||||
|
CLOSE DATASET lv_filename.
|
||||||
|
|
||||||
|
*--------------------------------------------------------------------*
|
||||||
|
* Binary data needs to be provided as XSTRING for further processing
|
||||||
|
*--------------------------------------------------------------------*
|
||||||
|
CALL FUNCTION 'SCMS_BINARY_TO_XSTRING'
|
||||||
|
EXPORTING
|
||||||
|
input_length = lv_filelength
|
||||||
|
IMPORTING
|
||||||
|
buffer = r_excel_data
|
||||||
|
TABLES
|
||||||
|
binary_tab = lt_binary_data.
|
||||||
|
ENDMETHOD.</source>
|
||||||
|
</method>
|
||||||
|
<method CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="READ_FROM_LOCAL_FILE" VERSION="1" LANGU="E" DESCRIPT="Load excel data from local file" EXPOSURE="0" STATE="1" EDITORDER="17 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
|
||||||
|
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="READ_FROM_LOCAL_FILE" SCONAME="I_FILENAME" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="CSEQUENCE"/>
|
||||||
|
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="READ_FROM_LOCAL_FILE" SCONAME="R_EXCEL_DATA" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="XSTRING"/>
|
||||||
|
<source>METHOD read_from_local_file.
|
||||||
|
DATA: lv_filelength TYPE i,
|
||||||
|
lt_binary_data TYPE STANDARD TABLE OF x255 WITH NON-UNIQUE DEFAULT KEY,
|
||||||
|
ls_binary_data LIKE LINE OF lt_binary_data,
|
||||||
|
lv_filename TYPE string,
|
||||||
|
lv_errormessage TYPE string.
|
||||||
|
|
||||||
|
MOVE i_filename TO lv_filename.
|
||||||
|
|
||||||
|
cl_gui_frontend_services=>gui_upload( EXPORTING
|
||||||
|
filename = lv_filename
|
||||||
|
filetype = 'BIN' " We are basically working with zipped directories --> force binary read
|
||||||
|
IMPORTING
|
||||||
|
filelength = lv_filelength
|
||||||
|
CHANGING
|
||||||
|
data_tab = lt_binary_data
|
||||||
|
EXCEPTIONS
|
||||||
|
file_open_error = 1
|
||||||
|
file_read_error = 2
|
||||||
|
no_batch = 3
|
||||||
|
gui_refuse_filetransfer = 4
|
||||||
|
invalid_type = 5
|
||||||
|
no_authority = 6
|
||||||
|
unknown_error = 7
|
||||||
|
bad_data_format = 8
|
||||||
|
header_not_allowed = 9
|
||||||
|
separator_not_allowed = 10
|
||||||
|
header_too_long = 11
|
||||||
|
unknown_dp_error = 12
|
||||||
|
access_denied = 13
|
||||||
|
dp_out_of_memory = 14
|
||||||
|
disk_full = 15
|
||||||
|
dp_timeout = 16
|
||||||
|
not_supported_by_gui = 17
|
||||||
|
error_no_gui = 18
|
||||||
|
OTHERS = 19 ).
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
lv_errormessage = 'A problem occured when reading the file'(001).
|
||||||
|
RAISE EXCEPTION TYPE zcx_excel
|
||||||
|
EXPORTING
|
||||||
|
error = lv_errormessage.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
*--------------------------------------------------------------------*
|
||||||
|
* Binary data needs to be provided as XSTRING for further processing
|
||||||
|
*--------------------------------------------------------------------*
|
||||||
|
CALL FUNCTION 'SCMS_BINARY_TO_XSTRING'
|
||||||
|
EXPORTING
|
||||||
|
input_length = lv_filelength
|
||||||
|
IMPORTING
|
||||||
|
buffer = r_excel_data
|
||||||
|
TABLES
|
||||||
|
binary_tab = lt_binary_data.
|
||||||
|
|
||||||
|
ENDMETHOD.</source>
|
||||||
</method>
|
</method>
|
||||||
<method CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="RESOLVE_PATH" VERSION="1" LANGU="E" DESCRIPT="Return path after ../ values are removed" EXPOSURE="1" STATE="1" EDITORDER="1 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
|
<method CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="RESOLVE_PATH" VERSION="1" LANGU="E" DESCRIPT="Return path after ../ values are removed" EXPOSURE="1" STATE="1" EDITORDER="1 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
|
||||||
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="RESOLVE_PATH" SCONAME="IP_PATH" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="STRING"/>
|
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="RESOLVE_PATH" SCONAME="IP_PATH" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="STRING"/>
|
||||||
|
@ -2885,10 +2880,10 @@ endmethod.</source>
|
||||||
REPLACE REGEX '[^/]*/\.\./' IN rp_result WITH ``.
|
REPLACE REGEX '[^/]*/\.\./' IN rp_result WITH ``.
|
||||||
|
|
||||||
|
|
||||||
endmethod.</source>
|
endmethod.</source>
|
||||||
</method>
|
</method>
|
||||||
<method CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="RESOLVE_REFERENCED_FORMULAE" VERSION="1" LANGU="E" DESCRIPT="Resolve referenced formulae" EXPOSURE="1" STATE="1" EDITORDER="15 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
|
<method CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="RESOLVE_REFERENCED_FORMULAE" VERSION="1" LANGU="E" DESCRIPT="Resolve referenced formulae" EXPOSURE="1" STATE="1" EDITORDER="15 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
|
||||||
<source>METHOD resolve_referenced_formulae.
|
<source>method RESOLVE_REFERENCED_FORMULAE.
|
||||||
TYPES: BEGIN OF ty_referenced_cells,
|
TYPES: BEGIN OF ty_referenced_cells,
|
||||||
sheet TYPE REF TO zcl_excel_worksheet,
|
sheet TYPE REF TO zcl_excel_worksheet,
|
||||||
si TYPE i,
|
si TYPE i,
|
||||||
|
@ -2984,6 +2979,6 @@ endmethod.</source>
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
ENDMETHOD.</source>
|
endmethod.</source>
|
||||||
</method>
|
</method>
|
||||||
</CLAS>
|
</CLAS>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user