mirror of
https://github.com/abap2xlsx/abap2xlsx.git
synced 2025-05-05 11:06:15 +08:00
Fix issue #113
git-svn-id: https://subversion.assembla.com/svn/abap2xlsx/trunk@221 b7d68dce-7c3c-4a99-8ce0-9ea847f5d049
This commit is contained in:
parent
ecc03faf04
commit
3f39940cb4
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="utf-16"?>
|
||||||
<CLAS CLSNAME="ZCL_EXCEL_WRITER_CSV" VERSION="1" LANGU="E" DESCRIPT="Excel writer 2007" UUID="4DADD1E5BEEA005BE1008000AC17C0C6" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="JACQUED" CREATEDON="20110420" CHANGEDBY="FEMIA" CHANGEDON="20110504" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
|
<CLAS CLSNAME="ZCL_EXCEL_WRITER_CSV" VERSION="1" LANGU="E" DESCRIPT="Excel writer 2007" UUID="4DADD1E5BEEA005BE1008000AC17C0C6" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="JACQUED" CREATEDON="20110420" CHANGEDBY="FEMIA" CHANGEDON="20110925" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="702" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
|
||||||
<implementing CLSNAME="ZCL_EXCEL_WRITER_CSV" REFCLSNAME="ZIF_EXCEL_WRITER" VERSION="1" EXPOSURE="2" STATE="1" AUTHOR="FEMIA" CREATEDON="20110428" CHANGEDBY="FEMIA" CHANGEDON="20110504" RELTYPE="1"/>
|
<implementing CLSNAME="ZCL_EXCEL_WRITER_CSV" REFCLSNAME="ZIF_EXCEL_WRITER" VERSION="1" EXPOSURE="2" STATE="1" AUTHOR="FEMIA" CREATEDON="20110528" CHANGEDBY="FEMIA" CHANGEDON="20110925" RELTYPE="1" EDITORDER="0 "/>
|
||||||
<publicSection>class ZCL_EXCEL_WRITER_CSV definition
|
<publicSection>class ZCL_EXCEL_WRITER_CSV definition
|
||||||
public
|
public
|
||||||
final
|
final
|
||||||
|
@ -18,10 +18,15 @@ public section.
|
||||||
class-methods SET_ENCLOSURE
|
class-methods SET_ENCLOSURE
|
||||||
importing
|
importing
|
||||||
value(IP_VALUE) type CHAR01 default '"' .
|
value(IP_VALUE) type CHAR01 default '"' .
|
||||||
class CL_ABAP_CHAR_UTILITIES definition load .
|
|
||||||
class-methods SET_ENDOFLINE
|
class-methods SET_ENDOFLINE
|
||||||
importing
|
importing
|
||||||
value(IP_VALUE) type ANY default CL_ABAP_CHAR_UTILITIES=>CR_LF .</publicSection>
|
value(IP_VALUE) type ANY default CL_ABAP_CHAR_UTILITIES=>CR_LF .
|
||||||
|
class-methods SET_ACTIVE_SHEET_INDEX
|
||||||
|
importing
|
||||||
|
!I_ACTIVE_WORKSHEET type ZEXCEL_ACTIVE_WORKSHEET .
|
||||||
|
class-methods SET_ACTIVE_SHEET_INDEX_BY_NAME
|
||||||
|
importing
|
||||||
|
!I_WORKSHEET_NAME type ZEXCEL_WORKSHEETS_NAME .</publicSection>
|
||||||
<protectedSection>*"* protected components of class ZCL_EXCEL_WRITER_2007
|
<protectedSection>*"* protected components of class ZCL_EXCEL_WRITER_2007
|
||||||
*"* do not include other source files here!!!
|
*"* do not include other source files here!!!
|
||||||
protected section.</protectedSection>
|
protected section.</protectedSection>
|
||||||
|
@ -33,6 +38,8 @@ private section.
|
||||||
class-data DELIMITER type CHAR01 value ';'. "#EC NOTEXT .
|
class-data DELIMITER type CHAR01 value ';'. "#EC NOTEXT .
|
||||||
class-data ENCLOSURE type CHAR01 value '"'. "#EC NOTEXT .
|
class-data ENCLOSURE type CHAR01 value '"'. "#EC NOTEXT .
|
||||||
class-data EOL type CHAR01 value CL_ABAP_CHAR_UTILITIES=>CR_LF. "#EC NOTEXT .
|
class-data EOL type CHAR01 value CL_ABAP_CHAR_UTILITIES=>CR_LF. "#EC NOTEXT .
|
||||||
|
class-data WORKSHEET_NAME type ZEXCEL_WORKSHEETS_NAME .
|
||||||
|
class-data WORKSHEET_INDEX type ZEXCEL_ACTIVE_WORKSHEET .
|
||||||
|
|
||||||
methods CREATE
|
methods CREATE
|
||||||
returning
|
returning
|
||||||
|
@ -48,18 +55,20 @@ private section.
|
||||||
*"* implementation or private method's signature</localTypes>
|
*"* implementation or private method's signature</localTypes>
|
||||||
<localMacros>*"* use this source file for any macro definitions you need
|
<localMacros>*"* use this source file for any macro definitions you need
|
||||||
*"* in the implementation part of the class</localMacros>
|
*"* in the implementation part of the class</localMacros>
|
||||||
<attribute CLSNAME="ZCL_EXCEL_WRITER_CSV" CMPNAME="DELIMITER" VERSION="1" LANGU="E" DESCRIPT="Delimiter" EXPOSURE="0" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20110504" CHANGEDON="00000000" ATTDECLTYP="1" ATTVALUE="';'" ATTEXPVIRT="0" TYPTYPE="1" TYPE="CHAR01" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
|
<attribute CLSNAME="ZCL_EXCEL_WRITER_CSV" CMPNAME="DELIMITER" VERSION="1" LANGU="E" DESCRIPT="Delimiter" EXPOSURE="0" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20110528" CHANGEDBY="FEMIA" CHANGEDON="20110925" ATTDECLTYP="1" ATTVALUE="';'" ATTEXPVIRT="0" TYPTYPE="1" TYPE="CHAR01" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="702" TYPESRC_LENG="0 "/>
|
||||||
<attribute CLSNAME="ZCL_EXCEL_WRITER_CSV" CMPNAME="ENCLOSURE" VERSION="1" LANGU="E" DESCRIPT="Text inclusure character" EXPOSURE="0" STATE="1" EDITORDER="3 " AUTHOR="FEMIA" CREATEDON="20110504" CHANGEDON="00000000" ATTDECLTYP="1" ATTVALUE="'"'" ATTEXPVIRT="0" TYPTYPE="1" TYPE="CHAR01" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
|
<attribute CLSNAME="ZCL_EXCEL_WRITER_CSV" CMPNAME="ENCLOSURE" VERSION="1" LANGU="E" DESCRIPT="Text inclusure character" EXPOSURE="0" STATE="1" EDITORDER="3 " AUTHOR="FEMIA" CREATEDON="20110528" CHANGEDBY="FEMIA" CHANGEDON="20110925" ATTDECLTYP="1" ATTVALUE="'"'" ATTEXPVIRT="0" TYPTYPE="1" TYPE="CHAR01" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="702" TYPESRC_LENG="0 "/>
|
||||||
<attribute CLSNAME="ZCL_EXCEL_WRITER_CSV" CMPNAME="EOL" VERSION="1" LANGU="E" DESCRIPT="End Of line" EXPOSURE="0" STATE="1" EDITORDER="4 " AUTHOR="FEMIA" CREATEDON="20110504" CHANGEDON="00000000" ATTDECLTYP="1" ATTVALUE="CL_ABAP_CHAR_UTILITIES=>CR_LF" ATTEXPVIRT="0" TYPTYPE="1" TYPE="CHAR01" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
|
<attribute CLSNAME="ZCL_EXCEL_WRITER_CSV" CMPNAME="EOL" VERSION="1" LANGU="E" DESCRIPT="End Of line" EXPOSURE="0" STATE="1" EDITORDER="4 " AUTHOR="FEMIA" CREATEDON="20110528" CHANGEDBY="FEMIA" CHANGEDON="20110925" ATTDECLTYP="1" ATTVALUE="CL_ABAP_CHAR_UTILITIES=>CR_LF" ATTEXPVIRT="0" TYPTYPE="1" TYPE="CHAR01" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="702" TYPESRC_LENG="0 "/>
|
||||||
<attribute CLSNAME="ZCL_EXCEL_WRITER_CSV" CMPNAME="EXCEL" VERSION="1" LANGU="E" DESCRIPT="Excel creator" EXPOSURE="0" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20110428" CHANGEDBY="FEMIA" CHANGEDON="20110504" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
|
<attribute CLSNAME="ZCL_EXCEL_WRITER_CSV" CMPNAME="EXCEL" VERSION="1" LANGU="E" DESCRIPT="Excel creator" EXPOSURE="0" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20110528" CHANGEDBY="FEMIA" CHANGEDON="20110925" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="702" TYPESRC_LENG="0 "/>
|
||||||
|
<attribute CLSNAME="ZCL_EXCEL_WRITER_CSV" CMPNAME="WORKSHEET_INDEX" VERSION="1" LANGU="E" DESCRIPT="Active Worksheet" EXPOSURE="0" STATE="1" EDITORDER="6 " AUTHOR="FEMIA" CREATEDON="20110925" CHANGEDON="00000000" ATTDECLTYP="1" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_ACTIVE_WORKSHEET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="702" TYPESRC_LENG="0 "/>
|
||||||
|
<attribute CLSNAME="ZCL_EXCEL_WRITER_CSV" CMPNAME="WORKSHEET_NAME" VERSION="1" LANGU="E" DESCRIPT="Worksheets name" EXPOSURE="0" STATE="1" EDITORDER="5 " AUTHOR="FEMIA" CREATEDON="20110925" CHANGEDON="00000000" ATTDECLTYP="1" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_WORKSHEETS_NAME" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="702" TYPESRC_LENG="0 "/>
|
||||||
<interfaceMethod CLSNAME="ZCL_EXCEL_WRITER_CSV" CPDNAME="ZIF_EXCEL_WRITER~WRITE_FILE">
|
<interfaceMethod CLSNAME="ZCL_EXCEL_WRITER_CSV" CPDNAME="ZIF_EXCEL_WRITER~WRITE_FILE">
|
||||||
<source>method ZIF_EXCEL_WRITER~WRITE_FILE.
|
<source>method ZIF_EXCEL_WRITER~WRITE_FILE.
|
||||||
me->excel = io_excel.
|
me->excel = io_excel.
|
||||||
ep_file = me->create( ).
|
ep_file = me->create( ).
|
||||||
endmethod.</source>
|
endmethod.</source>
|
||||||
</interfaceMethod>
|
</interfaceMethod>
|
||||||
<method CLSNAME="ZCL_EXCEL_WRITER_CSV" CMPNAME="CREATE" VERSION="1" LANGU="E" DESCRIPT="Create" EXPOSURE="0" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20110428" CHANGEDBY="FEMIA" CHANGEDON="20110504" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
|
<method CLSNAME="ZCL_EXCEL_WRITER_CSV" CMPNAME="CREATE" VERSION="1" LANGU="E" DESCRIPT="Create" EXPOSURE="0" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20110528" CHANGEDBY="FEMIA" CHANGEDON="20110925" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="702" BCMTDCAT="00" BCMTDSYN="0">
|
||||||
<parameter CLSNAME="ZCL_EXCEL_WRITER_CSV" CMPNAME="CREATE" SCONAME="EP_EXCEL" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20110428" CHANGEDBY="FEMIA" CHANGEDON="20110504" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="XSTRING"/>
|
<parameter CLSNAME="ZCL_EXCEL_WRITER_CSV" CMPNAME="CREATE" SCONAME="EP_EXCEL" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20110528" CHANGEDBY="FEMIA" CHANGEDON="20110925" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="XSTRING"/>
|
||||||
<source>method CREATE.
|
<source>method CREATE.
|
||||||
|
|
||||||
* .csv format with ; delimiter
|
* .csv format with ; delimiter
|
||||||
|
@ -68,8 +77,8 @@ endmethod.</source>
|
||||||
|
|
||||||
endmethod.</source>
|
endmethod.</source>
|
||||||
</method>
|
</method>
|
||||||
<method CLSNAME="ZCL_EXCEL_WRITER_CSV" CMPNAME="CREATE_CSV" VERSION="1" LANGU="E" DESCRIPT="Create CSV ; Delimited format" EXPOSURE="0" STATE="1" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20110428" CHANGEDBY="FEMIA" CHANGEDON="20110504" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
|
<method CLSNAME="ZCL_EXCEL_WRITER_CSV" CMPNAME="CREATE_CSV" VERSION="1" LANGU="E" DESCRIPT="Create CSV ; Delimited format" EXPOSURE="0" STATE="1" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20110528" CHANGEDBY="FEMIA" CHANGEDON="20110925" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="702" BCMTDCAT="00" BCMTDSYN="0">
|
||||||
<parameter CLSNAME="ZCL_EXCEL_WRITER_CSV" CMPNAME="CREATE_CSV" SCONAME="EP_CONTENT" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20110428" CHANGEDBY="FEMIA" CHANGEDON="20110504" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="XSTRING"/>
|
<parameter CLSNAME="ZCL_EXCEL_WRITER_CSV" CMPNAME="CREATE_CSV" SCONAME="EP_CONTENT" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20110528" CHANGEDBY="FEMIA" CHANGEDON="20110925" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="XSTRING"/>
|
||||||
<source>method CREATE_CSV.
|
<source>method CREATE_CSV.
|
||||||
|
|
||||||
TYPES: BEGIN OF lty_format,
|
TYPES: BEGIN OF lty_format,
|
||||||
|
@ -124,8 +133,20 @@ endmethod.</source>
|
||||||
|
|
||||||
* STEP 1: Collect strings from the first worksheet
|
* STEP 1: Collect strings from the first worksheet
|
||||||
lo_iterator = excel->get_worksheets_iterator( ).
|
lo_iterator = excel->get_worksheets_iterator( ).
|
||||||
|
data: current_worksheet_title type ZEXCEL_SHEET_TITLE.
|
||||||
|
|
||||||
WHILE lo_iterator->if_object_collection_iterator~has_next( ) EQ abap_true.
|
WHILE lo_iterator->if_object_collection_iterator~has_next( ) EQ abap_true.
|
||||||
lo_worksheet ?= lo_iterator->if_object_collection_iterator~get_next( ).
|
lo_worksheet ?= lo_iterator->if_object_collection_iterator~get_next( ).
|
||||||
|
|
||||||
|
IF worksheet_name IS NOT INITIAL.
|
||||||
|
current_worksheet_title = lo_worksheet->get_title( ).
|
||||||
|
CHECK current_worksheet_title = worksheet_name.
|
||||||
|
ELSE.
|
||||||
|
IF worksheet_index IS INITIAL.
|
||||||
|
worksheet_index = 1.
|
||||||
|
ENDIF.
|
||||||
|
CHECK worksheet_index = sy-index.
|
||||||
|
ENDIF.
|
||||||
APPEND LINES OF lo_worksheet->sheet_content TO lt_cell_data.
|
APPEND LINES OF lo_worksheet->sheet_content TO lt_cell_data.
|
||||||
EXIT. " Take first worksheet only
|
EXIT. " Take first worksheet only
|
||||||
ENDWHILE.
|
ENDWHILE.
|
||||||
|
@ -275,20 +296,34 @@ endmethod.</source>
|
||||||
|
|
||||||
endmethod.</source>
|
endmethod.</source>
|
||||||
</method>
|
</method>
|
||||||
<method CLSNAME="ZCL_EXCEL_WRITER_CSV" CMPNAME="SET_DELIMITER" VERSION="1" LANGU="E" DESCRIPT="Set Delimiter value" EXPOSURE="2" STATE="1" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20110504" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="1" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
|
<method CLSNAME="ZCL_EXCEL_WRITER_CSV" CMPNAME="SET_ACTIVE_SHEET_INDEX" VERSION="1" LANGU="E" DESCRIPT="Activate worksheet by index before the CSV file creation" EXPOSURE="2" STATE="1" EDITORDER="6 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20110925" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="1" R3RELEASE="702" BCMTDCAT="00" BCMTDSYN="0">
|
||||||
<parameter CLSNAME="ZCL_EXCEL_WRITER_CSV" CMPNAME="SET_DELIMITER" SCONAME="IP_VALUE" VERSION="1" LANGU="E" DESCRIPT="Delimiter Value" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20110504" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="1" TYPE="CHAR01" PARVALUE="';'"/>
|
<parameter CLSNAME="ZCL_EXCEL_WRITER_CSV" CMPNAME="SET_ACTIVE_SHEET_INDEX" SCONAME="I_ACTIVE_WORKSHEET" VERSION="1" LANGU="E" DESCRIPT="Active Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20110925" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_ACTIVE_WORKSHEET"/>
|
||||||
|
<source>method SET_ACTIVE_SHEET_INDEX.
|
||||||
|
CLEAR WORKSHEET_NAME.
|
||||||
|
WORKSHEET_INDEX = i_active_worksheet.
|
||||||
|
endmethod.</source>
|
||||||
|
</method>
|
||||||
|
<method CLSNAME="ZCL_EXCEL_WRITER_CSV" CMPNAME="SET_ACTIVE_SHEET_INDEX_BY_NAME" VERSION="1" LANGU="E" DESCRIPT="Activate worksheet by name before the CSV file creation" EXPOSURE="2" STATE="1" EDITORDER="7 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20110925" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="1" R3RELEASE="702" BCMTDCAT="00" BCMTDSYN="0">
|
||||||
|
<parameter CLSNAME="ZCL_EXCEL_WRITER_CSV" CMPNAME="SET_ACTIVE_SHEET_INDEX_BY_NAME" SCONAME="I_WORKSHEET_NAME" VERSION="1" LANGU="E" DESCRIPT="Worksheets name" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20110925" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_WORKSHEETS_NAME"/>
|
||||||
|
<source>method SET_ACTIVE_SHEET_INDEX_BY_NAME.
|
||||||
|
CLEAR WORKSHEET_INDEX.
|
||||||
|
WORKSHEET_NAME = i_worksheet_name.
|
||||||
|
endmethod.</source>
|
||||||
|
</method>
|
||||||
|
<method CLSNAME="ZCL_EXCEL_WRITER_CSV" CMPNAME="SET_DELIMITER" VERSION="1" LANGU="E" DESCRIPT="Set Delimiter value" EXPOSURE="2" STATE="1" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20110528" CHANGEDBY="FEMIA" CHANGEDON="20110925" MTDTYPE="0" MTDDECLTYP="1" R3RELEASE="702" BCMTDCAT="00" BCMTDSYN="0">
|
||||||
|
<parameter CLSNAME="ZCL_EXCEL_WRITER_CSV" CMPNAME="SET_DELIMITER" SCONAME="IP_VALUE" VERSION="1" LANGU="E" DESCRIPT="Delimiter Value" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20110528" CHANGEDBY="FEMIA" CHANGEDON="20110925" PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="1" TYPE="CHAR01" PARVALUE="';'"/>
|
||||||
<source>method SET_DELIMITER.
|
<source>method SET_DELIMITER.
|
||||||
delimiter = ip_value.
|
delimiter = ip_value.
|
||||||
endmethod.</source>
|
endmethod.</source>
|
||||||
</method>
|
</method>
|
||||||
<method CLSNAME="ZCL_EXCEL_WRITER_CSV" CMPNAME="SET_ENCLOSURE" VERSION="1" LANGU="E" DESCRIPT="Set Enclosure character" EXPOSURE="2" STATE="1" EDITORDER="4 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20110504" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="1" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
|
<method CLSNAME="ZCL_EXCEL_WRITER_CSV" CMPNAME="SET_ENCLOSURE" VERSION="1" LANGU="E" DESCRIPT="Set Enclosure character" EXPOSURE="2" STATE="1" EDITORDER="4 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20110528" CHANGEDBY="FEMIA" CHANGEDON="20110925" MTDTYPE="0" MTDDECLTYP="1" R3RELEASE="702" BCMTDCAT="00" BCMTDSYN="0">
|
||||||
<parameter CLSNAME="ZCL_EXCEL_WRITER_CSV" CMPNAME="SET_ENCLOSURE" SCONAME="IP_VALUE" VERSION="1" LANGU="E" DESCRIPT="Text field enclosure character" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20110504" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="1" TYPE="CHAR01" PARVALUE="'"'"/>
|
<parameter CLSNAME="ZCL_EXCEL_WRITER_CSV" CMPNAME="SET_ENCLOSURE" SCONAME="IP_VALUE" VERSION="1" LANGU="E" DESCRIPT="Text field enclosure character" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20110528" CHANGEDBY="FEMIA" CHANGEDON="20110925" PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="1" TYPE="CHAR01" PARVALUE="'"'"/>
|
||||||
<source>method SET_ENCLOSURE.
|
<source>method SET_ENCLOSURE.
|
||||||
zcl_excel_writer_csv=>enclosure = ip_value.
|
zcl_excel_writer_csv=>enclosure = ip_value.
|
||||||
endmethod.</source>
|
endmethod.</source>
|
||||||
</method>
|
</method>
|
||||||
<method CLSNAME="ZCL_EXCEL_WRITER_CSV" CMPNAME="SET_ENDOFLINE" VERSION="1" LANGU="E" DESCRIPT="Set End Of Line character" EXPOSURE="2" STATE="1" EDITORDER="5 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20110504" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="1" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
|
<method CLSNAME="ZCL_EXCEL_WRITER_CSV" CMPNAME="SET_ENDOFLINE" VERSION="1" LANGU="E" DESCRIPT="Set End Of Line character" EXPOSURE="2" STATE="1" EDITORDER="5 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20110528" CHANGEDBY="FEMIA" CHANGEDON="20110925" MTDTYPE="0" MTDDECLTYP="1" R3RELEASE="702" BCMTDCAT="00" BCMTDSYN="0">
|
||||||
<parameter CLSNAME="ZCL_EXCEL_WRITER_CSV" CMPNAME="SET_ENDOFLINE" SCONAME="IP_VALUE" VERSION="1" LANGU="E" DESCRIPT="End Of Line Character" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20110504" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="1" TYPE="ANY" PARVALUE="CL_ABAP_CHAR_UTILITIES=>CR_LF"/>
|
<parameter CLSNAME="ZCL_EXCEL_WRITER_CSV" CMPNAME="SET_ENDOFLINE" SCONAME="IP_VALUE" VERSION="1" LANGU="E" DESCRIPT="End Of Line Character" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20110528" CHANGEDBY="FEMIA" CHANGEDON="20110925" PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="1" TYPE="ANY" PARVALUE="CL_ABAP_CHAR_UTILITIES=>CR_LF"/>
|
||||||
<source>method SET_ENDOFLINE.
|
<source>method SET_ENDOFLINE.
|
||||||
zcl_excel_writer_csv=>eol = ip_value.
|
zcl_excel_writer_csv=>eol = ip_value.
|
||||||
endmethod.</source>
|
endmethod.</source>
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="utf-16"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL28" VARCL="X" SUBC="1" CNAM="JACQUED" CDAT="20110427" UNAM="FEMIA" UDAT="20110528" VERN="000023" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20110530" STIME="095303" IDATE="20110528" ITIME="183532" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL28" VARCL="X" SUBC="1" CNAM="JACQUED" CDAT="20110427" UNAM="FEMIA" UDAT="20110925" VERN="000033" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20110925" STIME="122527" IDATE="20110925" ITIME="122527" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="abap2xlsx Demo: Reader" LENGTH="27 "/>
|
<textElement ID="R" LENGTH="27 "/>
|
||||||
</language>
|
</language>
|
||||||
</textPool>
|
</textPool>
|
||||||
<source>*&---------------------------------------------------------------------*
|
<source>*&---------------------------------------------------------------------*
|
||||||
|
@ -31,7 +31,7 @@ DATA: lv_file_name TYPE string,
|
||||||
lv_workdir TYPE string,
|
lv_workdir TYPE string,
|
||||||
lv_file_separator TYPE c.
|
lv_file_separator TYPE c.
|
||||||
|
|
||||||
CONSTANTS: lv_default_file_name TYPE string VALUE '01_HelloWorld.csv'.
|
CONSTANTS: lv_default_file_name TYPE string VALUE '28_HelloWorld.csv'.
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE string.
|
PARAMETERS: p_path TYPE string.
|
||||||
|
|
||||||
|
@ -62,19 +62,47 @@ START-OF-SELECTION.
|
||||||
lo_worksheet->set_cell( ip_column = 'B' ip_row = 2 ip_value = 'Hello world' ).
|
lo_worksheet->set_cell( ip_column = 'B' ip_row = 2 ip_value = 'Hello world' ).
|
||||||
lo_worksheet->set_cell( ip_column = 'B' ip_row = 3 ip_value = sy-datum ).
|
lo_worksheet->set_cell( ip_column = 'B' ip_row = 3 ip_value = sy-datum ).
|
||||||
lo_worksheet->set_cell( ip_column = 'C' ip_row = 3 ip_value = sy-uzeit ).
|
lo_worksheet->set_cell( ip_column = 'C' ip_row = 3 ip_value = sy-uzeit ).
|
||||||
lo_hyperlink = zcl_excel_hyperlink=>create_external_link( iv_url = 'https://cw.sdn.sap.com/cw/groups/abap2xlsx' ).
|
|
||||||
lo_worksheet->set_cell( ip_column = 'B' ip_row = 4 ip_value = 'Click here to visit abap2xlsx homepage' ip_hyperlink = lo_hyperlink ).
|
|
||||||
|
|
||||||
column_dimension = lo_worksheet->get_column_dimension( 'B' ).
|
column_dimension = lo_worksheet->get_column_dimension( 'B' ).
|
||||||
column_dimension->set_width( 11 ).
|
column_dimension->set_width( 11 ).
|
||||||
|
|
||||||
|
lo_worksheet = lo_excel->add_new_worksheet( ).
|
||||||
|
lo_worksheet->set_title( ip_title = 'Sheet2' ).
|
||||||
|
lo_worksheet->set_cell( ip_column = 'B' ip_row = 2 ip_value = 'This is the second sheet' ).
|
||||||
|
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_csv.
|
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_csv.
|
||||||
zcl_excel_writer_csv=>set_delimiter( ip_value = cl_abap_char_utilities=>horizontal_tab ).
|
zcl_excel_writer_csv=>set_delimiter( ip_value = cl_abap_char_utilities=>horizontal_tab ).
|
||||||
zcl_excel_writer_csv=>set_enclosure( ip_value = '''' ).
|
zcl_excel_writer_csv=>set_enclosure( ip_value = '''' ).
|
||||||
zcl_excel_writer_csv=>set_endofline( ip_value = cl_abap_char_utilities=>cr_lf ).
|
zcl_excel_writer_csv=>set_endofline( ip_value = cl_abap_char_utilities=>cr_lf ).
|
||||||
|
|
||||||
|
zcl_excel_writer_csv=>set_active_sheet_index( i_active_worksheet = 2 ).
|
||||||
|
* zcl_excel_writer_csv=>set_active_sheet_index_by_name( I_WORKSHEET_NAME = 'Sheet2' ).
|
||||||
|
|
||||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
lv_file = lo_excel_writer->write_file( lo_excel ).
|
||||||
|
|
||||||
|
" Convert to binary
|
||||||
|
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
||||||
|
EXPORTING
|
||||||
|
buffer = lv_file
|
||||||
|
IMPORTING
|
||||||
|
output_length = lv_bytecount
|
||||||
|
TABLES
|
||||||
|
binary_tab = lt_file_tab.
|
||||||
|
* " This method is only available on AS ABAP > 6.40
|
||||||
|
* lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
||||||
|
* lv_bytecount = xstrlen( lv_file ).
|
||||||
|
|
||||||
|
" Save the file
|
||||||
|
REPLACE FIRST OCCURRENCE OF '.csv' IN lv_full_path WITH '_Sheet2.csv'.
|
||||||
|
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
||||||
|
filename = lv_full_path
|
||||||
|
filetype = 'BIN'
|
||||||
|
CHANGING data_tab = lt_file_tab ).
|
||||||
|
|
||||||
|
* zcl_excel_writer_csv=>set_active_sheet_index( i_active_worksheet = 2 ).
|
||||||
|
zcl_excel_writer_csv=>set_active_sheet_index_by_name( I_WORKSHEET_NAME = 'Sheet1' ).
|
||||||
|
lv_file = lo_excel_writer->write_file( lo_excel ).
|
||||||
|
REPLACE FIRST OCCURRENCE OF '_Sheet2.csv' IN lv_full_path WITH '_Sheet1.csv'.
|
||||||
|
|
||||||
" Convert to binary
|
" Convert to binary
|
||||||
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
||||||
|
|
Loading…
Reference in New Issue
Block a user