Added constant Filefilter to ZCL_EXCEL_COMMON/ Cosmetic change to Demoreport 37

git-svn-id: https://subversion.assembla.com/svn/abap2xlsx/trunk@352 b7d68dce-7c3c-4a99-8ce0-9ea847f5d049
This commit is contained in:
Stefan Schmöcker 2012-11-04 11:49:16 +00:00
parent f312f7f12a
commit 88ac03dab9
2 changed files with 57 additions and 7 deletions

View File

@ -5,9 +5,9 @@
final final
create public . create public .
public section.
*"* public components of class ZCL_EXCEL_COMMON *"* public components of class ZCL_EXCEL_COMMON
*"* do not include other source files here!!! *"* do not include other source files here!!!
public section.
constants C_EXCEL_BASELINE_DATE type D value '19000101'. "#EC NOTEXT constants C_EXCEL_BASELINE_DATE type D value '19000101'. "#EC NOTEXT
class-data C_EXCEL_NUMFMT_OFFSET type INT1 value 164. "#EC NOTEXT . class-data C_EXCEL_NUMFMT_OFFSET type INT1 value 164. "#EC NOTEXT .
@ -16,6 +16,7 @@ public section.
class-data C_SPRAS_EN type SPRAS value 'E'. "#EC NOTEXT . class-data C_SPRAS_EN type SPRAS value 'E'. "#EC NOTEXT .
class-data O_CONV type ref to CL_ABAP_CONV_OUT_CE . class-data O_CONV type ref to CL_ABAP_CONV_OUT_CE .
constants C_EXCEL_1900_LEAP_YEAR type D value '19000228'. "#EC NOTEXT constants C_EXCEL_1900_LEAP_YEAR type D value '19000228'. "#EC NOTEXT
constants C_XLSX_FILE_FILTER type STRING value 'Excel Workbook (*.xlsx)|*.xlsx|'. "#EC NOTEXT
class-methods DESCRIBE_STRUCTURE class-methods DESCRIBE_STRUCTURE
importing importing
@ -146,9 +147,9 @@ public section.
<protectedSection>*&quot;* protected components of class ZCL_EXCEL_COMMON <protectedSection>*&quot;* protected components of class ZCL_EXCEL_COMMON
*&quot;* do not include other source files here!!! *&quot;* do not include other source files here!!!
protected section.</protectedSection> protected section.</protectedSection>
<privateSection>private section. <privateSection>*&quot;* private components of class ZCL_EXCEL_COMMON
*&quot;* private components of class ZCL_EXCEL_COMMON
*&quot;* do not include other source files here!!! *&quot;* do not include other source files here!!!
private section.
class-data C_EXCEL_COL_MODULE type INT2 value 64. &quot;#EC NOTEXT . class-data C_EXCEL_COL_MODULE type INT2 value 64. &quot;#EC NOTEXT .
@ -913,6 +914,7 @@ ENDCLASS. &quot;lcl_Excel_Common_Test</localTestClasses>
<attribute CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="C_EXCEL_SHEET_MAX_COL" VERSION="1" LANGU="E" DESCRIPT="2 byte integer (signed)" EXPOSURE="2" STATE="1" EDITORDER="4 " ATTDECLTYP="2" ATTVALUE="16384" ATTEXPVIRT="0" TYPTYPE="1" TYPE="INT4" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/> <attribute CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="C_EXCEL_SHEET_MAX_COL" VERSION="1" LANGU="E" DESCRIPT="2 byte integer (signed)" EXPOSURE="2" STATE="1" EDITORDER="4 " ATTDECLTYP="2" ATTVALUE="16384" ATTEXPVIRT="0" TYPTYPE="1" TYPE="INT4" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="C_EXCEL_SHEET_MIN_COL" VERSION="1" LANGU="E" DESCRIPT="2 byte integer (signed)" EXPOSURE="2" STATE="1" EDITORDER="5 " ATTDECLTYP="2" ATTVALUE="1" ATTEXPVIRT="0" TYPTYPE="1" TYPE="INT4" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/> <attribute CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="C_EXCEL_SHEET_MIN_COL" VERSION="1" LANGU="E" DESCRIPT="2 byte integer (signed)" EXPOSURE="2" STATE="1" EDITORDER="5 " ATTDECLTYP="2" ATTVALUE="1" ATTEXPVIRT="0" TYPTYPE="1" TYPE="INT4" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="C_SPRAS_EN" VERSION="1" LANGU="E" DESCRIPT="Language Key" EXPOSURE="2" STATE="1" EDITORDER="6 " ATTDECLTYP="1" ATTVALUE="&apos;E&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="SPRAS" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/> <attribute CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="C_SPRAS_EN" VERSION="1" LANGU="E" DESCRIPT="Language Key" EXPOSURE="2" STATE="1" EDITORDER="6 " ATTDECLTYP="1" ATTVALUE="&apos;E&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="SPRAS" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="C_XLSX_FILE_FILTER" VERSION="1" LANGU="E" DESCRIPT="File filter" EXPOSURE="2" STATE="1" EDITORDER="9 " ATTDECLTYP="2" ATTVALUE="&apos;Excel Workbook (*.xlsx)|*.xlsx|&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="O_CONV" VERSION="1" LANGU="E" DESCRIPT="Code Page and Endian Conversion (System Format -&gt; External)" EXPOSURE="2" STATE="1" EDITORDER="7 " ATTDECLTYP="1" ATTEXPVIRT="0" TYPTYPE="3" TYPE="CL_ABAP_CONV_OUT_CE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/> <attribute CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="O_CONV" VERSION="1" LANGU="E" DESCRIPT="Code Page and Endian Conversion (System Format -&gt; External)" EXPOSURE="2" STATE="1" EDITORDER="7 " ATTDECLTYP="1" ATTEXPVIRT="0" TYPTYPE="3" TYPE="CL_ABAP_CONV_OUT_CE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="ASSERT_DIFFERS" VERSION="1" LANGU="E" DESCRIPT="Ensure Difference Between 2 (Elementary) data Objects" EXPOSURE="2" STATE="1" EDITORDER="19 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0"> <method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="ASSERT_DIFFERS" VERSION="1" LANGU="E" DESCRIPT="Ensure Difference Between 2 (Elementary) data Objects" EXPOSURE="2" STATE="1" EDITORDER="19 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="ASSERT_DIFFERS" SCONAME="EXP" VERSION="1" LANGU="E" DESCRIPT="Compare Object with Unexpected Value" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="SIMPLE"/> <parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="ASSERT_DIFFERS" SCONAME="EXP" VERSION="1" LANGU="E" DESCRIPT="Compare Object with Unexpected Value" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="SIMPLE"/>

View File

@ -3,12 +3,14 @@
<textPool> <textPool>
<language SPRAS="D"> <language SPRAS="D">
<textElement ID="R" ENTRY="Xlsx-Datei lesen und dann wieder ausgeben" LENGTH="70 "/> <textElement ID="R" ENTRY="Xlsx-Datei lesen und dann wieder ausgeben" LENGTH="70 "/>
<textElement ID="S" KEY="P_UPFILE" ENTRY=" Hochzuladende Datei" LENGTH="27 "/>
</language> </language>
<language SPRAS="E"> <language SPRAS="E">
<textElement ID="R" ENTRY="Read xlsx-file and output" LENGTH="25 "/> <textElement ID="R" ENTRY="Read xlsx-file and output" LENGTH="25 "/>
<textElement ID="S" KEY="P_UPFILE" ENTRY=" File to upload" LENGTH="22 "/>
</language> </language>
</textPool> </textPool>
<source>REPORT ZDEMO_EXCEL37. <source>REPORT zdemo_excel37.
DATA: excel TYPE REF TO zcl_excel, DATA: excel TYPE REF TO zcl_excel,
reader TYPE REF TO zif_excel_reader. reader TYPE REF TO zif_excel_reader.
@ -17,11 +19,14 @@ DATA: excel TYPE REF TO zcl_excel,
CONSTANTS: gc_save_file_name TYPE string VALUE &apos;37-passthrough.xlsx&apos;. CONSTANTS: gc_save_file_name TYPE string VALUE &apos;37-passthrough.xlsx&apos;.
SELECTION-SCREEN BEGIN OF BLOCK blx WITH FRAME. SELECTION-SCREEN BEGIN OF BLOCK blx WITH FRAME.
PARAMETERS: p_upfile TYPE string OBLIGATORY DEFAULT &apos;c:\temp\Noprinterassigned.xlsx&apos; LOWER CASE. PARAMETERS: p_upfile TYPE string DEFAULT &apos;c:\temp\whatever.xlsx&apos; LOWER CASE.
SELECTION-SCREEN END OF BLOCK blx. SELECTION-SCREEN END OF BLOCK blx.
INCLUDE zdemo_excel_outputopt_incl. INCLUDE zdemo_excel_outputopt_incl.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_upfile.
PERFORM f4_p_upfile CHANGING p_upfile.
START-OF-SELECTION. START-OF-SELECTION.
@ -32,6 +37,49 @@ START-OF-SELECTION.
*** Create output *** Create output
lcl_output=&gt;output( excel ). lcl_output=&gt;output( excel ).
CATCH cx_root. CATCH cx_root.
message &apos;Error reading excelfile&apos; type &apos;I&apos;. MESSAGE &apos;Error reading excelfile&apos; TYPE &apos;I&apos;.
ENDTRY.</source> ENDTRY.
*&amp;---------------------------------------------------------------------*
*&amp; Form F4_P_UPFILE
*&amp;---------------------------------------------------------------------*
FORM f4_p_upfile CHANGING p_upfile TYPE string.
DATA: lv_repid TYPE syrepid,
lt_fields TYPE dynpread_tabtype,
ls_field LIKE LINE OF lt_fields,
lt_files TYPE filetable.
lv_repid = sy-repid.
CALL FUNCTION &apos;DYNP_VALUES_READ&apos;
EXPORTING
dyname = lv_repid
dynumb = &apos;1000&apos;
request = &apos;A&apos;
TABLES
dynpfields = lt_fields
EXCEPTIONS
invalid_abapworkarea = 01
invalid_dynprofield = 02
invalid_dynproname = 03
invalid_dynpronummer = 04
invalid_request = 05
no_fielddescription = 06
undefind_error = 07.
READ TABLE lt_fields INTO ls_field WITH KEY fieldname = &apos;P_UPFILE&apos;.
p_upfile = ls_field-fieldvalue.
cl_gui_frontend_services=&gt;file_open_dialog( EXPORTING
default_filename = p_upfile
file_filter = zcl_excel_common=&gt;c_xlsx_file_filter
CHANGING
file_table = lt_files
rc = sy-tabix
EXCEPTIONS
OTHERS = 1 ).
READ TABLE lt_files INDEX 1 INTO p_upfile.
ENDFORM. &quot; F4_P_UPFILE</source>
</PROG> </PROG>