mirror of
https://github.com/abap2xlsx/abap2xlsx.git
synced 2025-05-05 11:16:14 +08:00
Changed demo reports 2 to 22 for 6.40 compatibility according to issue #55.
git-svn-id: https://subversion.assembla.com/svn/abap2xlsx/trunk@89 b7d68dce-7c3c-4a99-8ce0-9ea847f5d049
This commit is contained in:
parent
54163801d2
commit
64e0062571
|
@ -1,12 +1,14 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="utf-16"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL10" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100719" UNAM="FEMIA" UDAT="20101217" VERN="000066" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20101217" STIME="230340" IDATE="20101217" ITIME="230340" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL10" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100719" UNAM="BCUSER" UDAT="20101224" VERN="000069" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20101224" STIME="105650" IDATE="20101224" ITIME="105650" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="abap2xlsx Demo: Format internal table with field catalog" LENGTH="56 "/>
|
<textElement ID="R" ENTRY="abap2xlsx Demo: Format internal table with field catalog" LENGTH="56 "/>
|
||||||
|
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
||||||
</language>
|
</language>
|
||||||
</textPool>
|
</textPool>
|
||||||
|
<programDocumentation/>
|
||||||
<source>*&---------------------------------------------------------------------*
|
<source>*&---------------------------------------------------------------------*
|
||||||
*& Report ZIFE_TEST_EXCEL
|
*& Report ZDEMO_EXCEL10
|
||||||
*&
|
*&
|
||||||
*&---------------------------------------------------------------------*
|
*&---------------------------------------------------------------------*
|
||||||
*&
|
*&
|
||||||
|
@ -22,27 +24,25 @@ DATA: lo_excel TYPE REF TO zcl_excel,
|
||||||
column_dimension TYPE REF TO zcl_excel_worksheet_columndime.
|
column_dimension TYPE REF TO zcl_excel_worksheet_columndime.
|
||||||
|
|
||||||
DATA: lt_field_catalog TYPE zexcel_t_fieldcatalog,
|
DATA: lt_field_catalog TYPE zexcel_t_fieldcatalog,
|
||||||
ls_field_catalog TYPE zexcel_s_fieldcatalog,
|
|
||||||
ls_table_settings TYPE zexcel_s_table_settings.
|
ls_table_settings TYPE zexcel_s_table_settings.
|
||||||
|
|
||||||
DATA: lv_file TYPE xstring,
|
DATA: lv_file TYPE xstring,
|
||||||
lv_bytecount TYPE i,
|
lv_bytecount TYPE i,
|
||||||
lt_file_tab TYPE solix_tab.
|
lt_file_tab TYPE solix_tab.
|
||||||
|
|
||||||
DATA: lv_file_name TYPE string,
|
DATA: lv_full_path TYPE string,
|
||||||
lv_file_path TYPE string,
|
|
||||||
lv_full_path 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 '10_iTabFieldCatalog.xlsx'.
|
CONSTANTS: lv_default_file_name TYPE string VALUE '10_iTabFieldCatalog.xlsx'.
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE string.
|
PARAMETERS: p_path TYPE zexcel_export_dir.
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
||||||
|
lv_workdir = p_path.
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = p_path
|
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
||||||
CHANGING selected_folder = p_path ).
|
CHANGING selected_folder = lv_workdir ).
|
||||||
|
p_path = lv_workdir.
|
||||||
|
|
||||||
INITIALIZATION.
|
INITIALIZATION.
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
||||||
|
@ -54,7 +54,7 @@ START-OF-SELECTION.
|
||||||
p_path = lv_workdir.
|
p_path = lv_workdir.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO p_path.
|
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
||||||
|
|
||||||
|
|
||||||
FIELD-SYMBOLS: <fs_field_catalog> TYPE zexcel_s_fieldcatalog.
|
FIELD-SYMBOLS: <fs_field_catalog> TYPE zexcel_s_fieldcatalog.
|
||||||
|
@ -111,13 +111,21 @@ START-OF-SELECTION.
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
||||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
lv_file = lo_excel_writer->write_file( lo_excel ).
|
||||||
|
|
||||||
* Convert to binary
|
" Convert to binary
|
||||||
lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
||||||
lv_bytecount = XSTRLEN( lv_file ).
|
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
|
" Save the file
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
||||||
filename = p_path
|
filename = lv_full_path
|
||||||
filetype = 'BIN'
|
filetype = 'BIN'
|
||||||
CHANGING data_tab = lt_file_tab ).</source>
|
CHANGING data_tab = lt_file_tab ).</source>
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
|
@ -1,19 +1,20 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="utf-16"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL11" VARCL="X" SUBC="1" CNAM="BCUSER" CDAT="20100809" UNAM="FEMIA" UDAT="20101217" VERN="000050" RSTAT="K" RMAND="000" RLOAD="E" FIXPT="X" SDATE="20101217" STIME="230410" IDATE="20101217" ITIME="230410" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL11" VARCL="X" SUBC="1" CNAM="BCUSER" CDAT="20100809" UNAM="BCUSER" UDAT="20101224" VERN="000054" RSTAT="K" RMAND="000" RLOAD="E" FIXPT="X" SDATE="20101224" STIME="110436" IDATE="20101224" ITIME="110436" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="Export Organisation and Contact Persons using ABAP2XLSX" LENGTH="55 "/>
|
<textElement ID="R" ENTRY="abap2xlsx Demo: Export Organisation and Contact Persons" LENGTH="55 "/>
|
||||||
<textElement ID="S" KEY="COUNTRY" ENTRY="D ." LENGTH="19 "/>
|
<textElement ID="S" KEY="COUNTRY" ENTRY="D ." LENGTH="19 "/>
|
||||||
<textElement ID="S" KEY="MAXSEL" ENTRY="D ." LENGTH="27 "/>
|
<textElement ID="S" KEY="MAXSEL" ENTRY="D ." LENGTH="27 "/>
|
||||||
<textElement ID="S" KEY="MD" ENTRY=" Select by master data" LENGTH="29 "/>
|
<textElement ID="S" KEY="MD" ENTRY=" Select by master data" LENGTH="29 "/>
|
||||||
<textElement ID="S" KEY="PARTNER" ENTRY="D ." LENGTH="24 "/>
|
<textElement ID="S" KEY="PARTNER" ENTRY="D ." LENGTH="17 "/>
|
||||||
<textElement ID="S" KEY="PARTNERC" ENTRY="D ." LENGTH="19 "/>
|
<textElement ID="S" KEY="PARTNERC" ENTRY="D ." LENGTH="19 "/>
|
||||||
<textElement ID="S" KEY="POSTLCOD" ENTRY="D ." LENGTH="19 "/>
|
<textElement ID="S" KEY="POSTLCOD" ENTRY="D ." LENGTH="19 "/>
|
||||||
<textElement ID="S" KEY="P_PATH" ENTRY=" Download path" LENGTH="21 "/>
|
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="21 "/>
|
||||||
<textElement ID="S" KEY="REL" ENTRY=" Select by relationship" LENGTH="30 "/>
|
<textElement ID="S" KEY="REL" ENTRY=" Select by relationship" LENGTH="30 "/>
|
||||||
<textElement ID="S" KEY="RELTYP" ENTRY="D ." LENGTH="25 "/>
|
<textElement ID="S" KEY="RELTYP" ENTRY="D ." LENGTH="25 "/>
|
||||||
</language>
|
</language>
|
||||||
</textPool>
|
</textPool>
|
||||||
|
<programDocumentation/>
|
||||||
<source>*&---------------------------------------------------------------------*
|
<source>*&---------------------------------------------------------------------*
|
||||||
*& Report ZDEMO_EXCEL11
|
*& Report ZDEMO_EXCEL11
|
||||||
*& Export Organisation and Contact Persons using ABAP2XLSX
|
*& Export Organisation and Contact Persons using ABAP2XLSX
|
||||||
|
@ -46,15 +47,13 @@ FIELD-SYMBOLS: <relationship_address> LIKE LINE OF relationship_addresses.
|
||||||
DATA: lt_download TYPE TABLE OF zexcel_s_org_rel.
|
DATA: lt_download TYPE TABLE OF zexcel_s_org_rel.
|
||||||
FIELD-SYMBOLS: <download> LIKE LINE OF lt_download.
|
FIELD-SYMBOLS: <download> LIKE LINE OF lt_download.
|
||||||
|
|
||||||
DATA: lv_file_name TYPE string,
|
DATA: lv_full_path TYPE string,
|
||||||
lv_file_path TYPE string,
|
|
||||||
lv_full_path 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 '11_Export_Org_and_Contact.xlsx'.
|
CONSTANTS: lv_default_file_name TYPE string VALUE '11_Export_Org_and_Contact.xlsx'.
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE string.
|
PARAMETERS: p_path TYPE zexcel_export_dir.
|
||||||
|
|
||||||
PARAMETERS: md TYPE flag RADIOBUTTON GROUP act.
|
PARAMETERS: md TYPE flag RADIOBUTTON GROUP act.
|
||||||
|
|
||||||
|
@ -73,9 +72,11 @@ PARAMETERS: reltyp TYPE bu_reltyp DEFAULT 'BUR011',
|
||||||
SELECTION-SCREEN END OF BLOCK b.
|
SELECTION-SCREEN END OF BLOCK b.
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
||||||
|
lv_workdir = p_path.
|
||||||
|
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
||||||
|
CHANGING selected_folder = lv_workdir ).
|
||||||
|
p_path = lv_workdir.
|
||||||
|
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = p_path
|
|
||||||
CHANGING selected_folder = p_path ).
|
|
||||||
|
|
||||||
INITIALIZATION.
|
INITIALIZATION.
|
||||||
a = 'Select by master data'.
|
a = 'Select by master data'.
|
||||||
|
@ -88,7 +89,7 @@ START-OF-SELECTION.
|
||||||
p_path = lv_workdir.
|
p_path = lv_workdir.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO p_path.
|
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
||||||
|
|
||||||
IF md = abap_true.
|
IF md = abap_true.
|
||||||
" Read all Companies by Master Data
|
" Read all Companies by Master Data
|
||||||
|
@ -231,15 +232,11 @@ START-OF-SELECTION.
|
||||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||||
lo_style_body TYPE REF TO zcl_excel_style,
|
lo_style_body TYPE REF TO zcl_excel_style,
|
||||||
lo_border_dark TYPE REF TO zcl_excel_style_border,
|
lo_border_dark TYPE REF TO zcl_excel_style_border,
|
||||||
lo_border_light TYPE REF TO zcl_excel_style_border,
|
|
||||||
column_dimension TYPE REF TO zcl_excel_worksheet_columndime,
|
column_dimension TYPE REF TO zcl_excel_worksheet_columndime,
|
||||||
row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi.
|
row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi.
|
||||||
|
|
||||||
DATA: lv_style_body_odd_guid TYPE zexcel_cell_style,
|
DATA: lv_style_body_even_guid TYPE zexcel_cell_style,
|
||||||
lv_style_body_even_guid TYPE zexcel_cell_style,
|
lv_style_body_green TYPE zexcel_cell_style.
|
||||||
lv_style_body_green TYPE zexcel_cell_style,
|
|
||||||
lv_style_body_odd_n_guid TYPE zexcel_cell_style,
|
|
||||||
lv_style_body_even_n_guid TYPE zexcel_cell_style.
|
|
||||||
|
|
||||||
DATA: row TYPE zexcel_cell_row.
|
DATA: row TYPE zexcel_cell_row.
|
||||||
|
|
||||||
|
@ -263,12 +260,6 @@ START-OF-SELECTION.
|
||||||
CREATE OBJECT lo_border_dark.
|
CREATE OBJECT lo_border_dark.
|
||||||
lo_border_dark->border_color = zcl_excel_style_color=>c_black.
|
lo_border_dark->border_color = zcl_excel_style_color=>c_black.
|
||||||
lo_border_dark->border_style = zcl_excel_style_border=>c_border_thin.
|
lo_border_dark->border_style = zcl_excel_style_border=>c_border_thin.
|
||||||
"Create style with border odd
|
|
||||||
lo_style_body = lo_excel->add_new_style( ).
|
|
||||||
lo_style_body->fill->filltype = zcl_excel_style_fill=>c_fill_solid.
|
|
||||||
lo_style_body->fill->fgcolor = zcl_excel_style_color=>c_gray.
|
|
||||||
lo_style_body->borders->allborders = lo_border_dark.
|
|
||||||
lv_style_body_odd_guid = lo_style_body->get_guid( ).
|
|
||||||
"Create style with border even
|
"Create style with border even
|
||||||
lo_style_body = lo_excel->add_new_style( ).
|
lo_style_body = lo_excel->add_new_style( ).
|
||||||
lo_style_body->fill->fgcolor = zcl_excel_style_color=>c_yellow.
|
lo_style_body->fill->fgcolor = zcl_excel_style_color=>c_yellow.
|
||||||
|
@ -279,18 +270,6 @@ START-OF-SELECTION.
|
||||||
lo_style_body->fill->fgcolor = zcl_excel_style_color=>c_green.
|
lo_style_body->fill->fgcolor = zcl_excel_style_color=>c_green.
|
||||||
lo_style_body->borders->allborders = lo_border_dark.
|
lo_style_body->borders->allborders = lo_border_dark.
|
||||||
lv_style_body_green = lo_style_body->get_guid( ).
|
lv_style_body_green = lo_style_body->get_guid( ).
|
||||||
"Create style numeric with border odd
|
|
||||||
lo_style_body = lo_excel->add_new_style( ).
|
|
||||||
lo_style_body->fill->filltype = zcl_excel_style_fill=>c_fill_solid.
|
|
||||||
lo_style_body->fill->fgcolor = zcl_excel_style_color=>c_gray.
|
|
||||||
lo_style_body->borders->allborders = lo_border_dark.
|
|
||||||
lo_style_body->number_format->format_code = zcl_excel_style_number_format=>c_format_number.
|
|
||||||
lv_style_body_odd_n_guid = lo_style_body->get_guid( ).
|
|
||||||
"Create style numeric with border odd
|
|
||||||
lo_style_body = lo_excel->add_new_style( ).
|
|
||||||
lo_style_body->borders->allborders = lo_border_dark.
|
|
||||||
lo_style_body->number_format->format_code = zcl_excel_style_number_format=>c_format_number.
|
|
||||||
lv_style_body_even_n_guid = lo_style_body->get_guid( ).
|
|
||||||
|
|
||||||
" Get active sheet
|
" Get active sheet
|
||||||
lo_worksheet = lo_excel->get_active_worksheet( ).
|
lo_worksheet = lo_excel->get_active_worksheet( ).
|
||||||
|
@ -474,13 +453,21 @@ START-OF-SELECTION.
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
||||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
lv_file = lo_excel_writer->write_file( lo_excel ).
|
||||||
|
|
||||||
* Convert to binary
|
" Convert to binary
|
||||||
lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
||||||
lv_bytecount = XSTRLEN( lv_file ).
|
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
|
" Save the file
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
||||||
filename = p_path
|
filename = lv_full_path
|
||||||
filetype = 'BIN'
|
filetype = 'BIN'
|
||||||
CHANGING data_tab = lt_file_tab ).</source>
|
CHANGING data_tab = lt_file_tab ).</source>
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="utf-16"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL12" VARCL="X" SUBC="1" CNAM="BCUSER" CDAT="20100811" UNAM="FEMIA" UDAT="20101217" VERN="000031" RSTAT="T" RMAND="000" RLOAD="E" FIXPT="X" SDATE="20101217" STIME="230524" IDATE="20101217" ITIME="230524" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL12" VARCL="X" SUBC="1" CNAM="BCUSER" CDAT="20100811" UNAM="BCUSER" UDAT="20101224" VERN="000034" RSTAT="T" RMAND="000" RLOAD="E" FIXPT="X" SDATE="20101224" STIME="110720" IDATE="20101224" ITIME="110720" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="Hide Columns" LENGTH="12 "/>
|
<textElement ID="R" ENTRY="abap2xlsx Demo: Hide Columns" LENGTH="28 "/>
|
||||||
|
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
||||||
</language>
|
</language>
|
||||||
</textPool>
|
</textPool>
|
||||||
|
<programDocumentation/>
|
||||||
<source>*&---------------------------------------------------------------------*
|
<source>*&---------------------------------------------------------------------*
|
||||||
*& Report ZDEMO_EXCEL12
|
*& Report ZDEMO_EXCEL12
|
||||||
*&
|
*&
|
||||||
|
@ -16,7 +18,7 @@
|
||||||
REPORT zdemo_excel12.
|
REPORT zdemo_excel12.
|
||||||
|
|
||||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||||
lo_excel_writer type ref to zif_excel_writer,
|
lo_excel_writer TYPE REF TO zif_excel_writer,
|
||||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||||
column_dimension TYPE REF TO zcl_excel_worksheet_columndime,
|
column_dimension TYPE REF TO zcl_excel_worksheet_columndime,
|
||||||
row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi.
|
row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi.
|
||||||
|
@ -25,96 +27,103 @@ DATA: lv_file TYPE xstring,
|
||||||
lv_bytecount TYPE i,
|
lv_bytecount TYPE i,
|
||||||
lt_file_tab TYPE solix_tab.
|
lt_file_tab TYPE solix_tab.
|
||||||
|
|
||||||
DATA: lv_file_name TYPE string,
|
DATA: lv_full_path TYPE string,
|
||||||
lv_file_path TYPE string,
|
|
||||||
lv_full_path 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 '12_HideSizeOutlineRowsAndColumns.xlsx'.
|
CONSTANTS: lv_default_file_name TYPE string VALUE '12_HideSizeOutlineRowsAndColumns.xlsx'.
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE string.
|
PARAMETERS: p_path TYPE zexcel_export_dir.
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
||||||
|
lv_workdir = p_path.
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = p_path
|
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
||||||
CHANGING selected_folder = p_path ).
|
CHANGING selected_folder = lv_workdir ).
|
||||||
|
p_path = lv_workdir.
|
||||||
|
|
||||||
INITIALIZATION.
|
INITIALIZATION.
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
||||||
p_path = lv_workdir.
|
p_path = lv_workdir.
|
||||||
|
|
||||||
START-OF-SELECTION.
|
START-OF-SELECTION.
|
||||||
|
|
||||||
IF p_path IS INITIAL.
|
IF p_path IS INITIAL.
|
||||||
p_path = lv_workdir.
|
p_path = lv_workdir.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO p_path.
|
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
||||||
|
|
||||||
|
|
||||||
" Creates active sheet
|
" Creates active sheet
|
||||||
CREATE OBJECT lo_excel.
|
CREATE OBJECT lo_excel.
|
||||||
|
|
||||||
" Get active sheet
|
" Get active sheet
|
||||||
lo_worksheet = lo_excel->get_active_worksheet( ).
|
lo_worksheet = lo_excel->get_active_worksheet( ).
|
||||||
lo_worksheet->set_title( 'Sheet1' ).
|
lo_worksheet->set_title( 'Sheet1' ).
|
||||||
lo_worksheet->set_cell( ip_column = 'B' ip_row = 2 ip_value = 'Hello world in AutoSize column' ).
|
lo_worksheet->set_cell( ip_column = 'B' ip_row = 2 ip_value = 'Hello world in AutoSize column' ).
|
||||||
lo_worksheet->set_cell( ip_column = 'C' ip_row = 3 ip_value = 'Hello world in a column width size 50' ).
|
lo_worksheet->set_cell( ip_column = 'C' ip_row = 3 ip_value = 'Hello world in a column width size 50' ).
|
||||||
lo_worksheet->set_cell( ip_column = 'D' ip_row = 4 ip_value = 'Hello world (hidden column)' ).
|
lo_worksheet->set_cell( ip_column = 'D' ip_row = 4 ip_value = 'Hello world (hidden column)' ).
|
||||||
lo_worksheet->set_cell( ip_column = 'F' ip_row = 2 ip_value = 'Outline column level 0' ).
|
lo_worksheet->set_cell( ip_column = 'F' ip_row = 2 ip_value = 'Outline column level 0' ).
|
||||||
lo_worksheet->set_cell( ip_column = 'G' ip_row = 2 ip_value = 'Outline column level 1' ).
|
lo_worksheet->set_cell( ip_column = 'G' ip_row = 2 ip_value = 'Outline column level 1' ).
|
||||||
lo_worksheet->set_cell( ip_column = 'H' ip_row = 2 ip_value = 'Outline column level 2' ).
|
lo_worksheet->set_cell( ip_column = 'H' ip_row = 2 ip_value = 'Outline column level 2' ).
|
||||||
lo_worksheet->set_cell( ip_column = 'I' ip_row = 2 ip_value = 'Small' ).
|
lo_worksheet->set_cell( ip_column = 'I' ip_row = 2 ip_value = 'Small' ).
|
||||||
|
|
||||||
|
|
||||||
lo_worksheet->set_cell( ip_column = 'A' ip_row = 1 ip_value = 'Hello world (hidden row)' ).
|
lo_worksheet->set_cell( ip_column = 'A' ip_row = 1 ip_value = 'Hello world (hidden row)' ).
|
||||||
lo_worksheet->set_cell( ip_column = 'E' ip_row = 5 ip_value = 'Hello world in a row height size 20' ).
|
lo_worksheet->set_cell( ip_column = 'E' ip_row = 5 ip_value = 'Hello world in a row height size 20' ).
|
||||||
lo_worksheet->set_cell( ip_column = 'B' ip_row = 6 ip_value = 'Outline row level 0' ).
|
lo_worksheet->set_cell( ip_column = 'B' ip_row = 6 ip_value = 'Outline row level 0' ).
|
||||||
lo_worksheet->set_cell( ip_column = 'B' ip_row = 7 ip_value = 'Outline row level 1' ).
|
lo_worksheet->set_cell( ip_column = 'B' ip_row = 7 ip_value = 'Outline row level 1' ).
|
||||||
lo_worksheet->set_cell( ip_column = 'B' ip_row = 8 ip_value = 'Outline row level 2' ).
|
lo_worksheet->set_cell( ip_column = 'B' ip_row = 8 ip_value = 'Outline row level 2' ).
|
||||||
|
|
||||||
" Column Settings
|
" Column Settings
|
||||||
" Auto size
|
" Auto size
|
||||||
column_dimension = lo_worksheet->get_column_dimension( 'B' ).
|
column_dimension = lo_worksheet->get_column_dimension( 'B' ).
|
||||||
column_dimension->set_auto_size( abap_true ).
|
column_dimension->set_auto_size( abap_true ).
|
||||||
column_dimension = lo_worksheet->get_column_dimension( 'I' ).
|
column_dimension = lo_worksheet->get_column_dimension( 'I' ).
|
||||||
column_dimension->set_auto_size( abap_true ).
|
column_dimension->set_auto_size( abap_true ).
|
||||||
" Manual Width
|
" Manual Width
|
||||||
column_dimension = lo_worksheet->get_column_dimension( 'C' ).
|
column_dimension = lo_worksheet->get_column_dimension( 'C' ).
|
||||||
column_dimension->set_width( 50 ).
|
column_dimension->set_width( 50 ).
|
||||||
column_dimension = lo_worksheet->get_column_dimension( 'D' ).
|
column_dimension = lo_worksheet->get_column_dimension( 'D' ).
|
||||||
column_dimension->set_visible( ip_visible = abap_false ).
|
column_dimension->set_visible( ip_visible = abap_false ).
|
||||||
" Implementation in the Writer is not working yet ===== TODO =====
|
" Implementation in the Writer is not working yet ===== TODO =====
|
||||||
column_dimension = lo_worksheet->get_column_dimension( 'F' ).
|
column_dimension = lo_worksheet->get_column_dimension( 'F' ).
|
||||||
column_dimension->set_outline_level( 0 ).
|
column_dimension->set_outline_level( 0 ).
|
||||||
column_dimension = lo_worksheet->get_column_dimension( 'G' ).
|
column_dimension = lo_worksheet->get_column_dimension( 'G' ).
|
||||||
column_dimension->set_outline_level( 1 ).
|
column_dimension->set_outline_level( 1 ).
|
||||||
column_dimension = lo_worksheet->get_column_dimension( 'H' ).
|
column_dimension = lo_worksheet->get_column_dimension( 'H' ).
|
||||||
column_dimension->set_outline_level( 2 ).
|
column_dimension->set_outline_level( 2 ).
|
||||||
|
|
||||||
row_dimension = lo_worksheet->get_row_dimension( 1 ).
|
row_dimension = lo_worksheet->get_row_dimension( 1 ).
|
||||||
row_dimension->set_visible( abap_false ).
|
row_dimension->set_visible( abap_false ).
|
||||||
row_dimension = lo_worksheet->get_row_dimension( 5 ).
|
row_dimension = lo_worksheet->get_row_dimension( 5 ).
|
||||||
row_dimension->set_row_height( 20 ).
|
row_dimension->set_row_height( 20 ).
|
||||||
" Implementation in the Writer is not working yet ===== TODO =====
|
" Implementation in the Writer is not working yet ===== TODO =====
|
||||||
row_dimension = lo_worksheet->get_row_dimension( 6 ).
|
row_dimension = lo_worksheet->get_row_dimension( 6 ).
|
||||||
row_dimension->set_outline_level( 0 ).
|
row_dimension->set_outline_level( 0 ).
|
||||||
row_dimension = lo_worksheet->get_row_dimension( 7 ).
|
row_dimension = lo_worksheet->get_row_dimension( 7 ).
|
||||||
row_dimension->set_outline_level( 1 ).
|
row_dimension->set_outline_level( 1 ).
|
||||||
row_dimension = lo_worksheet->get_row_dimension( 8 ).
|
row_dimension = lo_worksheet->get_row_dimension( 8 ).
|
||||||
row_dimension->set_outline_level( 2 ).
|
row_dimension->set_outline_level( 2 ).
|
||||||
|
|
||||||
create object lo_excel_writer type zcl_excel_writer_2007.
|
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
||||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
lv_file = lo_excel_writer->write_file( lo_excel ).
|
||||||
|
|
||||||
* Convert to binary
|
" Convert to binary
|
||||||
lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
||||||
lv_bytecount = xstrlen( lv_file ).
|
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
|
" Save the file
|
||||||
cl_gui_frontend_services=>gui_download( exporting bin_filesize = lv_bytecount
|
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
||||||
filename = p_path
|
filename = lv_full_path
|
||||||
filetype = 'BIN'
|
filetype = 'BIN'
|
||||||
changing data_tab = lt_file_tab ).</source>
|
CHANGING data_tab = lt_file_tab ).</source>
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="utf-16"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL13" VARCL="X" SUBC="1" CNAM="ATEJADA" CDAT="20100812" UNAM="FEMIA" UDAT="20101220" VERN="000029" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20101220" STIME="215329" IDATE="20101220" ITIME="215329" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL13" VARCL="X" SUBC="1" CNAM="ATEJADA" CDAT="20100812" UNAM="BCUSER" UDAT="20101224" VERN="000032" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20101224" STIME="110908" IDATE="20101224" ITIME="110908" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="abap2xlsx Demo: Merge cells" LENGTH="27 "/>
|
<textElement ID="R" ENTRY="abap2xlsx Demo: Merge cells" LENGTH="27 "/>
|
||||||
|
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
||||||
</language>
|
</language>
|
||||||
</textPool>
|
</textPool>
|
||||||
|
<programDocumentation/>
|
||||||
<source>*&---------------------------------------------------------------------*
|
<source>*&---------------------------------------------------------------------*
|
||||||
*& Report ZDEMO_EXCEL13
|
*& Report ZDEMO_EXCEL13
|
||||||
*&
|
*&
|
||||||
|
@ -18,8 +20,6 @@ REPORT zdemo_excel13.
|
||||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
lo_excel_writer TYPE REF TO zif_excel_writer,
|
||||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||||
lo_range TYPE REF TO zcl_excel_range,
|
|
||||||
lv_style_number_guid TYPE zexcel_cell_style,
|
|
||||||
lv_style_bold_border_guid TYPE zexcel_cell_style,
|
lv_style_bold_border_guid TYPE zexcel_cell_style,
|
||||||
lo_style_bold_border TYPE REF TO zcl_excel_style,
|
lo_style_bold_border TYPE REF TO zcl_excel_style,
|
||||||
lo_border_dark TYPE REF TO zcl_excel_style_border.
|
lo_border_dark TYPE REF TO zcl_excel_style_border.
|
||||||
|
@ -28,20 +28,19 @@ DATA: lv_file TYPE xstring,
|
||||||
lv_bytecount TYPE i,
|
lv_bytecount TYPE i,
|
||||||
lt_file_tab TYPE solix_tab.
|
lt_file_tab TYPE solix_tab.
|
||||||
|
|
||||||
DATA: lv_file_name TYPE string,
|
DATA: lv_full_path TYPE string,
|
||||||
lv_file_path TYPE string,
|
|
||||||
lv_full_path 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 '13_MergedCells.xlsx'.
|
CONSTANTS: lv_default_file_name TYPE string VALUE '13_MergedCells.xlsx'.
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE string.
|
PARAMETERS: p_path TYPE zexcel_export_dir.
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
||||||
|
lv_workdir = p_path.
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = p_path
|
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
||||||
CHANGING selected_folder = p_path ).
|
CHANGING selected_folder = lv_workdir ).
|
||||||
|
p_path = lv_workdir.
|
||||||
|
|
||||||
INITIALIZATION.
|
INITIALIZATION.
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
||||||
|
@ -53,7 +52,7 @@ START-OF-SELECTION.
|
||||||
p_path = lv_workdir.
|
p_path = lv_workdir.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO p_path.
|
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
||||||
|
|
||||||
CREATE OBJECT lo_excel.
|
CREATE OBJECT lo_excel.
|
||||||
|
|
||||||
|
@ -94,13 +93,21 @@ START-OF-SELECTION.
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
||||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
lv_file = lo_excel_writer->write_file( lo_excel ).
|
||||||
|
|
||||||
* Convert to binary
|
" Convert to binary
|
||||||
lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
||||||
lv_bytecount = XSTRLEN( lv_file ).
|
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
|
" Save the file
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
||||||
filename = p_path
|
filename = lv_full_path
|
||||||
filetype = 'BIN'
|
filetype = 'BIN'
|
||||||
CHANGING data_tab = lt_file_tab ).</source>
|
CHANGING data_tab = lt_file_tab ).</source>
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
|
@ -1,15 +1,17 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="utf-16"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL14" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100817" UNAM="FEMIA" UDAT="20101217" VERN="000045" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20101217" STIME="230806" IDATE="20101217" ITIME="230806" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL14" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100817" UNAM="BCUSER" UDAT="20101224" VERN="000049" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20101224" STIME="111125" IDATE="20101224" ITIME="111125" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="abap2xlsx Demo: Alignment" LENGTH="25 "/>
|
<textElement ID="R" ENTRY="abap2xlsx Demo: Alignment" LENGTH="25 "/>
|
||||||
|
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
||||||
</language>
|
</language>
|
||||||
</textPool>
|
</textPool>
|
||||||
|
<programDocumentation/>
|
||||||
<source>*&---------------------------------------------------------------------*
|
<source>*&---------------------------------------------------------------------*
|
||||||
*& Report ZDEMO_EXCEL13
|
*& Report ZDEMO_EXCEL14
|
||||||
*&
|
*&
|
||||||
*&---------------------------------------------------------------------*
|
*&---------------------------------------------------------------------*
|
||||||
*& Example by: Alvaro "Blag" Tejada Galindo.
|
*&
|
||||||
*&
|
*&
|
||||||
*&---------------------------------------------------------------------*
|
*&---------------------------------------------------------------------*
|
||||||
|
|
||||||
|
@ -49,20 +51,19 @@ DATA: lv_file TYPE xstring,
|
||||||
lv_bytecount TYPE i,
|
lv_bytecount TYPE i,
|
||||||
lt_file_tab TYPE solix_tab.
|
lt_file_tab TYPE solix_tab.
|
||||||
|
|
||||||
DATA: lv_file_name TYPE string,
|
DATA: lv_full_path TYPE string,
|
||||||
lv_file_path TYPE string,
|
|
||||||
lv_full_path 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 '14_Alignment.xlsx'.
|
CONSTANTS: lv_default_file_name TYPE string VALUE '14_Alignment.xlsx'.
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE string.
|
PARAMETERS: p_path TYPE zexcel_export_dir.
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
||||||
|
lv_workdir = p_path.
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = p_path
|
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
||||||
CHANGING selected_folder = p_path ).
|
CHANGING selected_folder = lv_workdir ).
|
||||||
|
p_path = lv_workdir.
|
||||||
|
|
||||||
INITIALIZATION.
|
INITIALIZATION.
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
||||||
|
@ -74,7 +75,7 @@ START-OF-SELECTION.
|
||||||
p_path = lv_workdir.
|
p_path = lv_workdir.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO p_path.
|
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
||||||
|
|
||||||
CREATE OBJECT lo_excel.
|
CREATE OBJECT lo_excel.
|
||||||
|
|
||||||
|
@ -176,13 +177,21 @@ START-OF-SELECTION.
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
||||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
lv_file = lo_excel_writer->write_file( lo_excel ).
|
||||||
|
|
||||||
* Convert to binary
|
" Convert to binary
|
||||||
lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
||||||
lv_bytecount = XSTRLEN( lv_file ).
|
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
|
" Save the file
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
||||||
filename = p_path
|
filename = lv_full_path
|
||||||
filetype = 'BIN'
|
filetype = 'BIN'
|
||||||
CHANGING data_tab = lt_file_tab ).</source>
|
CHANGING data_tab = lt_file_tab ).</source>
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="utf-16"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL15" VARCL="X" SUBC="1" CNAM="BCUSER" CDAT="20100820" UNAM="FEMIA" UDAT="20101030" VERN="000021" RSTAT="T" RMAND="000" RLOAD="E" FIXPT="X" SDATE="20101217" STIME="224554" IDATE="20101030" ITIME="234140" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL15" VARCL="X" SUBC="1" CNAM="BCUSER" CDAT="20100820" UNAM="BCUSER" UDAT="20101224" VERN="000025" RSTAT="T" RMAND="000" RLOAD="E" FIXPT="X" SDATE="20101224" STIME="111627" IDATE="20101224" ITIME="111627" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="ABAP2XLSX Reader Demo" LENGTH="21 "/>
|
<textElement ID="R" ENTRY="abap2xlsx Demo: Reader" LENGTH="22 "/>
|
||||||
<textElement ID="S" KEY="P_NOOUT" ENTRY=" Hide output" LENGTH="19 "/>
|
<textElement ID="S" KEY="P_NOOUT" ENTRY=" Hide output" LENGTH="19 "/>
|
||||||
<textElement ID="S" KEY="P_PATH" ENTRY=" Select output path" LENGTH="26 "/>
|
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="24 "/>
|
||||||
</language>
|
</language>
|
||||||
</textPool>
|
</textPool>
|
||||||
|
<programDocumentation/>
|
||||||
<source>*&---------------------------------------------------------------------*
|
<source>*&---------------------------------------------------------------------*
|
||||||
*& Report ZDEMO_EXCEL15
|
*& Report ZDEMO_EXCEL15
|
||||||
*&
|
*&
|
||||||
|
@ -23,6 +24,9 @@ DATA: excel TYPE REF TO zcl_excel,
|
||||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
lo_excel_writer TYPE REF TO zif_excel_writer,
|
||||||
reader TYPE REF TO zif_excel_reader.
|
reader TYPE REF TO zif_excel_reader.
|
||||||
|
|
||||||
|
DATA: ex TYPE REF TO zcx_excel,
|
||||||
|
msg TYPE string.
|
||||||
|
|
||||||
DATA: lv_file TYPE xstring,
|
DATA: lv_file TYPE xstring,
|
||||||
lv_bytecount TYPE i,
|
lv_bytecount TYPE i,
|
||||||
lt_file_tab TYPE solix_tab.
|
lt_file_tab TYPE solix_tab.
|
||||||
|
@ -43,13 +47,15 @@ DATA: worksheet TYPE REF TO zcl_excel_worksheet,
|
||||||
CONSTANTS: lv_default_file_name TYPE string VALUE '15_iTabFromReader.xlsx',
|
CONSTANTS: lv_default_file_name TYPE string VALUE '15_iTabFromReader.xlsx',
|
||||||
lv_default_input TYPE string VALUE '03_iTab.xlsx'.
|
lv_default_input TYPE string VALUE '03_iTab.xlsx'.
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE string,
|
PARAMETERS: p_path TYPE zexcel_export_dir,
|
||||||
p_noout TYPE xfeld DEFAULT abap_true.
|
p_noout TYPE xfeld DEFAULT abap_true.
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
|
||||||
|
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = p_path
|
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
||||||
CHANGING selected_folder = p_path ).
|
lv_workdir = p_path.
|
||||||
|
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
||||||
|
CHANGING selected_folder = lv_workdir ).
|
||||||
|
p_path = lv_workdir.
|
||||||
|
|
||||||
INITIALIZATION.
|
INITIALIZATION.
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
||||||
|
@ -96,9 +102,17 @@ START-OF-SELECTION.
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
||||||
lv_file = lo_excel_writer->write_file( excel ).
|
lv_file = lo_excel_writer->write_file( excel ).
|
||||||
|
|
||||||
* Convert to binary
|
" Convert to binary
|
||||||
lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
||||||
lv_bytecount = XSTRLEN( lv_file ).
|
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
|
" Save the file
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
||||||
|
@ -106,6 +120,9 @@ START-OF-SELECTION.
|
||||||
filetype = 'BIN'
|
filetype = 'BIN'
|
||||||
CHANGING data_tab = lt_file_tab ).
|
CHANGING data_tab = lt_file_tab ).
|
||||||
|
|
||||||
CATCH zcx_excel. " Exceptions for ABAP2XLSX
|
|
||||||
|
CATCH zcx_excel INTO ex. " Exceptions for ABAP2XLSX
|
||||||
|
msg = ex->get_text( ).
|
||||||
|
WRITE: / msg.
|
||||||
ENDTRY.</source>
|
ENDTRY.</source>
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
|
@ -1,12 +1,14 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="utf-16"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL16" VARCL="X" SUBC="1" CNAM="VONDRUSKA" CDAT="20100914" UNAM="FEMIA" UDAT="20101217" VERN="000056" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20101217" STIME="230849" IDATE="20101217" ITIME="230849" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL16" VARCL="X" SUBC="1" CNAM="VONDRUSKA" CDAT="20100914" UNAM="BCUSER" UDAT="20101224" VERN="000059" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20101224" STIME="122147" IDATE="20101224" ITIME="122147" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="Test for excel - drawings" LENGTH="25 "/>
|
<textElement ID="R" ENTRY="abap2xlsx Demo: Drawings" LENGTH="24 "/>
|
||||||
|
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
||||||
</language>
|
</language>
|
||||||
</textPool>
|
</textPool>
|
||||||
|
<programDocumentation/>
|
||||||
<source>*&---------------------------------------------------------------------*
|
<source>*&---------------------------------------------------------------------*
|
||||||
*& Report ZIFE_TEST_EXCEL
|
*& Report ZDEMO_EXCEL16
|
||||||
*&
|
*&
|
||||||
*&---------------------------------------------------------------------*
|
*&---------------------------------------------------------------------*
|
||||||
*&
|
*&
|
||||||
|
@ -18,24 +20,25 @@ REPORT zdemo_excel16.
|
||||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
lo_excel_writer TYPE REF TO zif_excel_writer,
|
||||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||||
lo_drawing TYPE REF TO zcl_excel_drawing,
|
lo_drawing TYPE REF TO zcl_excel_drawing.
|
||||||
column_dimension TYPE REF TO zcl_excel_worksheet_columndime.
|
|
||||||
|
|
||||||
DATA: lv_file TYPE xstring,
|
DATA: lv_file TYPE xstring,
|
||||||
lv_bytecount TYPE i,
|
lv_bytecount TYPE i,
|
||||||
lt_file_tab TYPE solix_tab.
|
lt_file_tab TYPE solix_tab.
|
||||||
|
|
||||||
DATA: lv_workdir TYPE string,
|
DATA: lv_full_path TYPE string,
|
||||||
|
lv_workdir TYPE string,
|
||||||
lv_file_separator TYPE c.
|
lv_file_separator TYPE c.
|
||||||
|
|
||||||
CONSTANTS: lv_default_file_name TYPE string VALUE '16_Drawings.xlsx'.
|
CONSTANTS: lv_default_file_name TYPE string VALUE '16_Drawings.xlsx'.
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE string.
|
PARAMETERS: p_path TYPE zexcel_export_dir.
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
||||||
|
lv_workdir = p_path.
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = p_path
|
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
||||||
CHANGING selected_folder = p_path ).
|
CHANGING selected_folder = lv_workdir ).
|
||||||
|
p_path = lv_workdir.
|
||||||
|
|
||||||
INITIALIZATION.
|
INITIALIZATION.
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
||||||
|
@ -47,7 +50,7 @@ START-OF-SELECTION.
|
||||||
p_path = lv_workdir.
|
p_path = lv_workdir.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO p_path.
|
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
||||||
|
|
||||||
" Creates active sheet
|
" Creates active sheet
|
||||||
CREATE OBJECT lo_excel.
|
CREATE OBJECT lo_excel.
|
||||||
|
@ -87,8 +90,8 @@ START-OF-SELECTION.
|
||||||
error_no_gui = 18
|
error_no_gui = 18
|
||||||
OTHERS = 19.
|
OTHERS = 19.
|
||||||
IF sy-subrc <> 0.
|
IF sy-subrc <> 0.
|
||||||
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
|
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
|
||||||
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
|
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
CALL FUNCTION 'SCMS_BINARY_TO_XSTRING'
|
CALL FUNCTION 'SCMS_BINARY_TO_XSTRING'
|
||||||
|
@ -101,6 +104,10 @@ START-OF-SELECTION.
|
||||||
EXCEPTIONS
|
EXCEPTIONS
|
||||||
failed = 1
|
failed = 1
|
||||||
OTHERS = 2.
|
OTHERS = 2.
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
|
||||||
|
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
" Get active sheet
|
" Get active sheet
|
||||||
lo_worksheet = lo_excel->get_active_worksheet( ).
|
lo_worksheet = lo_excel->get_active_worksheet( ).
|
||||||
|
@ -137,13 +144,21 @@ START-OF-SELECTION.
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
||||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
lv_file = lo_excel_writer->write_file( lo_excel ).
|
||||||
|
|
||||||
* Convert to binary
|
" Convert to binary
|
||||||
lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
||||||
lv_bytecount = XSTRLEN( lv_file ).
|
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
|
" Save the file
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
||||||
filename = p_path
|
filename = lv_full_path
|
||||||
filetype = 'BIN'
|
filetype = 'BIN'
|
||||||
CHANGING data_tab = lt_file_tab ).</source>
|
CHANGING data_tab = lt_file_tab ).</source>
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
|
@ -1,12 +1,15 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="utf-16"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL17" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100921" UNAM="FEMIA" UDAT="20101120" VERN="000022" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20101217" STIME="224554" IDATE="20101120" ITIME="185318" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL17" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100921" UNAM="BCUSER" UDAT="20101224" VERN="000025" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20101224" STIME="122311" IDATE="20101224" ITIME="122311" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="Sheet Protection" LENGTH="16 "/>
|
<textElement ID="R" ENTRY="abap2xlsx Demo: Sheet Protection" LENGTH="32 "/>
|
||||||
|
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="24 "/>
|
||||||
|
<textElement ID="S" KEY="P_PWD" ENTRY="D ." LENGTH="9 "/>
|
||||||
</language>
|
</language>
|
||||||
</textPool>
|
</textPool>
|
||||||
|
<programDocumentation/>
|
||||||
<source>*&---------------------------------------------------------------------*
|
<source>*&---------------------------------------------------------------------*
|
||||||
*& Report ZIFE_TEST_EXCEL
|
*& Report ZDEMO_EXCEL17
|
||||||
*&
|
*&
|
||||||
*&---------------------------------------------------------------------*
|
*&---------------------------------------------------------------------*
|
||||||
*&
|
*&
|
||||||
|
@ -25,18 +28,20 @@ DATA: lv_file TYPE xstring,
|
||||||
lv_bytecount TYPE i,
|
lv_bytecount TYPE i,
|
||||||
lt_file_tab TYPE solix_tab.
|
lt_file_tab TYPE solix_tab.
|
||||||
|
|
||||||
DATA: lv_workdir TYPE string,
|
DATA: lv_full_path TYPE string,
|
||||||
|
lv_workdir TYPE string,
|
||||||
lv_file_separator TYPE c.
|
lv_file_separator TYPE c.
|
||||||
|
|
||||||
CONSTANTS: lv_default_file_name TYPE string VALUE '17_SheetProtection.xlsx'.
|
CONSTANTS: lv_default_file_name TYPE string VALUE '17_SheetProtection.xlsx'.
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE string,
|
PARAMETERS: p_path TYPE zexcel_export_dir,
|
||||||
p_pwd TYPE zexcel_aes_password LOWER CASE DEFAULT 'secret'.
|
p_pwd TYPE zexcel_aes_password LOWER CASE DEFAULT 'secret'.
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
||||||
|
lv_workdir = p_path.
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = p_path
|
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
||||||
CHANGING selected_folder = p_path ).
|
CHANGING selected_folder = lv_workdir ).
|
||||||
|
p_path = lv_workdir.
|
||||||
|
|
||||||
INITIALIZATION.
|
INITIALIZATION.
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
||||||
|
@ -48,7 +53,7 @@ START-OF-SELECTION.
|
||||||
p_path = lv_workdir.
|
p_path = lv_workdir.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO p_path.
|
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
||||||
|
|
||||||
CREATE OBJECT lo_excel.
|
CREATE OBJECT lo_excel.
|
||||||
|
|
||||||
|
@ -75,13 +80,21 @@ START-OF-SELECTION.
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
||||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
lv_file = lo_excel_writer->write_file( lo_excel ).
|
||||||
|
|
||||||
* Convert to binary
|
" Convert to binary
|
||||||
lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
||||||
lv_bytecount = XSTRLEN( lv_file ).
|
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
|
" Save the file
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
||||||
filename = p_path
|
filename = lv_full_path
|
||||||
filetype = 'BIN'
|
filetype = 'BIN'
|
||||||
CHANGING data_tab = lt_file_tab ).</source>
|
CHANGING data_tab = lt_file_tab ).</source>
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
|
@ -1,12 +1,14 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="utf-16"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL18" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100923" UNAM="FEMIA" UDAT="20101030" VERN="000022" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20101217" STIME="224554" IDATE="20101030" ITIME="200000" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL18" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100923" UNAM="BCUSER" UDAT="20101224" VERN="000025" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20101224" STIME="122554" IDATE="20101224" ITIME="122554" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="abap2xlsx Demo: Book protection" LENGTH="31 "/>
|
<textElement ID="R" ENTRY="abap2xlsx Demo: Book protection" LENGTH="31 "/>
|
||||||
|
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
||||||
</language>
|
</language>
|
||||||
</textPool>
|
</textPool>
|
||||||
|
<programDocumentation/>
|
||||||
<source>*&---------------------------------------------------------------------*
|
<source>*&---------------------------------------------------------------------*
|
||||||
*& Report ZIFE_TEST_EXCEL
|
*& Report ZDEMO_EXCEL18
|
||||||
*&
|
*&
|
||||||
*&---------------------------------------------------------------------*
|
*&---------------------------------------------------------------------*
|
||||||
*&
|
*&
|
||||||
|
@ -18,24 +20,25 @@ REPORT zdemo_excel18.
|
||||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
lo_excel_writer TYPE REF TO zif_excel_writer,
|
||||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||||
lo_style_protection TYPE REF TO zcl_excel_style,
|
|
||||||
lv_style_protection_guid TYPE zexcel_cell_style.
|
lv_style_protection_guid TYPE zexcel_cell_style.
|
||||||
|
|
||||||
DATA: lv_file TYPE xstring,
|
DATA: lv_file TYPE xstring,
|
||||||
lv_bytecount TYPE i,
|
lv_bytecount TYPE i,
|
||||||
lt_file_tab TYPE solix_tab.
|
lt_file_tab TYPE solix_tab.
|
||||||
|
|
||||||
DATA: lv_workdir TYPE string,
|
DATA: lv_full_path TYPE string,
|
||||||
|
lv_workdir TYPE string,
|
||||||
lv_file_separator TYPE c.
|
lv_file_separator TYPE c.
|
||||||
|
|
||||||
CONSTANTS: lv_default_file_name TYPE string VALUE '18_BookProtection.xlsx'.
|
CONSTANTS: lv_default_file_name TYPE string VALUE '18_BookProtection.xlsx'.
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE string.
|
PARAMETERS: p_path TYPE zexcel_export_dir.
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
||||||
|
lv_workdir = p_path.
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = p_path
|
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
||||||
CHANGING selected_folder = p_path ).
|
CHANGING selected_folder = lv_workdir ).
|
||||||
|
p_path = lv_workdir.
|
||||||
|
|
||||||
INITIALIZATION.
|
INITIALIZATION.
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
||||||
|
@ -47,7 +50,7 @@ START-OF-SELECTION.
|
||||||
p_path = lv_workdir.
|
p_path = lv_workdir.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO p_path.
|
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
||||||
|
|
||||||
CREATE OBJECT lo_excel.
|
CREATE OBJECT lo_excel.
|
||||||
|
|
||||||
|
@ -57,20 +60,27 @@ START-OF-SELECTION.
|
||||||
lo_excel->zif_excel_book_protection~lockstructure = zif_excel_book_protection=>c_locked.
|
lo_excel->zif_excel_book_protection~lockstructure = zif_excel_book_protection=>c_locked.
|
||||||
lo_excel->zif_excel_book_protection~lockwindows = zif_excel_book_protection=>c_locked.
|
lo_excel->zif_excel_book_protection~lockwindows = zif_excel_book_protection=>c_locked.
|
||||||
|
|
||||||
|
|
||||||
lo_worksheet = lo_excel->get_active_worksheet( ).
|
lo_worksheet = lo_excel->get_active_worksheet( ).
|
||||||
lo_worksheet->set_cell( ip_row = 4 ip_column = 'C' ip_value = 'This cell is unlocked' ip_style = lv_style_protection_guid ).
|
lo_worksheet->set_cell( ip_row = 4 ip_column = 'C' ip_value = 'This cell is unlocked' ip_style = lv_style_protection_guid ).
|
||||||
|
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
||||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
lv_file = lo_excel_writer->write_file( lo_excel ).
|
||||||
|
|
||||||
* Convert to binary
|
" Convert to binary
|
||||||
lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
||||||
lv_bytecount = XSTRLEN( lv_file ).
|
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
|
" Save the file
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
||||||
filename = p_path
|
filename = lv_full_path
|
||||||
filetype = 'BIN'
|
filetype = 'BIN'
|
||||||
CHANGING data_tab = lt_file_tab ).</source>
|
CHANGING data_tab = lt_file_tab ).</source>
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="utf-16"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL19" VARCL="X" SUBC="1" CNAM="BCUSER" CDAT="20101030" UNAM="FEMIA" UDAT="20101217" VERN="000019" RSTAT="T" RMAND="000" RLOAD="E" FIXPT="X" SDATE="20101217" STIME="231401" IDATE="20101217" ITIME="231401" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL19" VARCL="X" SUBC="1" CNAM="BCUSER" CDAT="20101030" UNAM="BCUSER" UDAT="20101224" VERN="000022" RSTAT="T" RMAND="000" RLOAD="E" FIXPT="X" SDATE="20101224" STIME="122734" IDATE="20101224" ITIME="122734" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="abap2xlsx Demo: Set active sheet" LENGTH="32 "/>
|
<textElement ID="R" ENTRY="abap2xlsx Demo: Set active sheet" LENGTH="32 "/>
|
||||||
<textElement ID="S" KEY="P_NOOUT" ENTRY=" Hide output" LENGTH="19 "/>
|
<textElement ID="S" KEY="P_NOOUT" ENTRY=" Hide output" LENGTH="19 "/>
|
||||||
<textElement ID="S" KEY="P_PATH" ENTRY=" Select output path" LENGTH="26 "/>
|
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="26 "/>
|
||||||
</language>
|
</language>
|
||||||
</textPool>
|
</textPool>
|
||||||
|
<programDocumentation/>
|
||||||
<source>*&---------------------------------------------------------------------*
|
<source>*&---------------------------------------------------------------------*
|
||||||
*& Report ZDEMO_EXCEL19
|
*& Report ZDEMO_EXCEL19
|
||||||
*&
|
*&
|
||||||
|
@ -21,26 +22,26 @@ TYPE-POOLS: abap.
|
||||||
|
|
||||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
lo_excel_writer TYPE REF TO zif_excel_writer,
|
||||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
lo_worksheet TYPE REF TO zcl_excel_worksheet.
|
||||||
lo_style_protection TYPE REF TO zcl_excel_style,
|
|
||||||
lv_style_protection_guid TYPE zexcel_cell_style.
|
|
||||||
|
|
||||||
DATA: lv_file TYPE xstring,
|
DATA: lv_file TYPE xstring,
|
||||||
lv_bytecount TYPE i,
|
lv_bytecount TYPE i,
|
||||||
lt_file_tab TYPE solix_tab.
|
lt_file_tab TYPE solix_tab.
|
||||||
|
|
||||||
DATA: lv_workdir TYPE string,
|
DATA: lv_full_path TYPE string,
|
||||||
|
lv_workdir TYPE string,
|
||||||
lv_file_separator TYPE c.
|
lv_file_separator TYPE c.
|
||||||
|
|
||||||
CONSTANTS: lv_default_file_name TYPE string VALUE '19_SetActiveSheet.xlsx'.
|
CONSTANTS: lv_default_file_name TYPE string VALUE '19_SetActiveSheet.xlsx'.
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE string,
|
PARAMETERS: p_path TYPE zexcel_export_dir,
|
||||||
p_noout TYPE xfeld DEFAULT abap_true.
|
p_noout TYPE xfeld DEFAULT abap_true.
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
||||||
|
lv_workdir = p_path.
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = p_path
|
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
||||||
CHANGING selected_folder = p_path ).
|
CHANGING selected_folder = lv_workdir ).
|
||||||
|
p_path = lv_workdir.
|
||||||
|
|
||||||
INITIALIZATION.
|
INITIALIZATION.
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
||||||
|
@ -52,7 +53,7 @@ START-OF-SELECTION.
|
||||||
p_path = lv_workdir.
|
p_path = lv_workdir.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO p_path.
|
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
||||||
|
|
||||||
CREATE OBJECT lo_excel.
|
CREATE OBJECT lo_excel.
|
||||||
|
|
||||||
|
@ -85,13 +86,21 @@ START-OF-SELECTION.
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
||||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
lv_file = lo_excel_writer->write_file( lo_excel ).
|
||||||
|
|
||||||
* Convert to binary
|
" Convert to binary
|
||||||
lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
||||||
lv_bytecount = XSTRLEN( lv_file ).
|
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
|
" Save the file
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
||||||
filename = p_path
|
filename = lv_full_path
|
||||||
filetype = 'BIN'
|
filetype = 'BIN'
|
||||||
CHANGING data_tab = lt_file_tab ).</source>
|
CHANGING data_tab = lt_file_tab ).</source>
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
|
@ -1,12 +1,14 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="utf-16"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL2" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="FEMIA" UDAT="20101217" VERN="000026" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20101217" STIME="224925" IDATE="20101217" ITIME="224925" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL2" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="BCUSER" UDAT="20101224" VERN="000030" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20101224" STIME="104813" IDATE="20101224" ITIME="104813" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="Test Styles for ABAP2XLSX" LENGTH="25 "/>
|
<textElement ID="R" ENTRY="abap2xlsx Demo: Styles" LENGTH="25 "/>
|
||||||
|
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
||||||
</language>
|
</language>
|
||||||
</textPool>
|
</textPool>
|
||||||
|
<programDocumentation/>
|
||||||
<source>*&---------------------------------------------------------------------*
|
<source>*&---------------------------------------------------------------------*
|
||||||
*& Report ZIFE_TEST_EXCEL
|
*& Report ZDEMO_EXCEL2
|
||||||
*& Test Styles for ABAP2XLSX
|
*& Test Styles for ABAP2XLSX
|
||||||
*&---------------------------------------------------------------------*
|
*&---------------------------------------------------------------------*
|
||||||
*&
|
*&
|
||||||
|
@ -37,20 +39,19 @@ DATA: lv_file TYPE xstring,
|
||||||
lv_bytecount TYPE i,
|
lv_bytecount TYPE i,
|
||||||
lt_file_tab TYPE solix_tab.
|
lt_file_tab TYPE solix_tab.
|
||||||
|
|
||||||
DATA: lv_file_name TYPE string,
|
DATA: lv_full_path TYPE string,
|
||||||
lv_file_path TYPE string,
|
|
||||||
lv_full_path 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 '02_Styles.xlsx'.
|
CONSTANTS: lv_default_file_name TYPE string VALUE '02_Styles.xlsx'.
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE string.
|
PARAMETERS: p_path TYPE zexcel_export_dir.
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
||||||
|
lv_workdir = p_path.
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = p_path
|
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
||||||
CHANGING selected_folder = p_path ).
|
CHANGING selected_folder = lv_workdir ).
|
||||||
|
p_path = lv_workdir.
|
||||||
|
|
||||||
INITIALIZATION.
|
INITIALIZATION.
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
||||||
|
@ -62,7 +63,7 @@ START-OF-SELECTION.
|
||||||
p_path = lv_workdir.
|
p_path = lv_workdir.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO p_path.
|
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
||||||
|
|
||||||
" Creates active sheet
|
" Creates active sheet
|
||||||
CREATE OBJECT lo_excel.
|
CREATE OBJECT lo_excel.
|
||||||
|
@ -129,12 +130,20 @@ START-OF-SELECTION.
|
||||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
lv_file = lo_excel_writer->write_file( lo_excel ).
|
||||||
|
|
||||||
" Convert to binary
|
" Convert to binary
|
||||||
lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
||||||
lv_bytecount = XSTRLEN( lv_file ).
|
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
|
" Save the file
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
||||||
filename = p_path
|
filename = lv_full_path
|
||||||
filetype = 'BIN'
|
filetype = 'BIN'
|
||||||
CHANGING data_tab = lt_file_tab ).</source>
|
CHANGING data_tab = lt_file_tab ).</source>
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="utf-16"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL20" VARCL="X" SUBC="1" CNAM="HUNGHM" CDAT="20101117" UNAM="FEMIA" UDAT="20101120" VERN="000035" RMAND="800" RLOAD="E" FIXPT="X" SDATE="20101217" STIME="224554" IDATE="20101120" ITIME="185935" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL20" VARCL="X" SUBC="1" CNAM="HUNGHM" CDAT="20101117" UNAM="BCUSER" UDAT="20101218" VERN="000036" RMAND="800" RLOAD="E" FIXPT="X" SDATE="20101224" STIME="102757" IDATE="20101218" ITIME="172118" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="abap2xlsx Demo: Bind ALV" LENGTH="24 "/>
|
<textElement ID="R" ENTRY="abap2xlsx Demo: Bind ALV" LENGTH="24 "/>
|
||||||
</language>
|
</language>
|
||||||
</textPool>
|
</textPool>
|
||||||
|
<programDocumentation/>
|
||||||
<pfstatus>
|
<pfstatus>
|
||||||
<pfstatus_sta CODE="ALV_STATUS" MODAL="D" ACTCODE="000004" PFKCODE="000004" BUTCODE="0001" INT_NOTE="Standard for General List Output"/>
|
<pfstatus_sta CODE="ALV_STATUS" MODAL="D" ACTCODE="000004" PFKCODE="000004" BUTCODE="0001" INT_NOTE="Standard for General List Output"/>
|
||||||
<pfstatus_fun CODE="%ML" TEXTNO="001" TEXT_TYPE="S" FUN_TEXT="Folder" PATH="F"/>
|
<pfstatus_fun CODE="%ML" TEXTNO="001" TEXT_TYPE="S" FUN_TEXT="Folder" PATH="F"/>
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="utf-16"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL21" VARCL="X" SUBC="1" CNAM="BCUSER" CDAT="20101127" UNAM="FEMIA" UDAT="20101217" VERN="000019" RSTAT="T" RMAND="000" RLOAD="E" FIXPT="X" SDATE="20101217" STIME="231608" IDATE="20101217" ITIME="231608" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL21" VARCL="X" SUBC="1" CNAM="BCUSER" CDAT="20101127" UNAM="BCUSER" UDAT="20101224" VERN="000021" RSTAT="T" RMAND="000" RLOAD="E" FIXPT="X" SDATE="20101224" STIME="123005" IDATE="20101224" ITIME="123005" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="abap2xlsx Demo: Backgound Color Picker" LENGTH="38 "/>
|
<textElement ID="R" ENTRY="abap2xlsx Demo: Backgound Color Picker" LENGTH="38 "/>
|
||||||
|
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
||||||
</language>
|
</language>
|
||||||
</textPool>
|
</textPool>
|
||||||
|
<programDocumentation/>
|
||||||
<source>*&---------------------------------------------------------------------*
|
<source>*&---------------------------------------------------------------------*
|
||||||
*& Report ZDEMO_EXCEL21
|
*& Report ZDEMO_EXCEL21
|
||||||
*&
|
*&
|
||||||
|
@ -15,9 +17,10 @@
|
||||||
|
|
||||||
REPORT zdemo_excel21.
|
REPORT zdemo_excel21.
|
||||||
|
|
||||||
TYPES: BEGIN OF t_color_style,
|
TYPES:
|
||||||
color TYPE zexcel_style_color_argb,
|
BEGIN OF t_color_style,
|
||||||
style TYPE zexcel_cell_style,
|
color TYPE zexcel_style_color_argb,
|
||||||
|
style TYPE zexcel_cell_style,
|
||||||
END OF t_color_style.
|
END OF t_color_style.
|
||||||
|
|
||||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||||
|
@ -53,20 +56,19 @@ DATA: lv_file TYPE xstring,
|
||||||
lv_bytecount TYPE i,
|
lv_bytecount TYPE i,
|
||||||
lt_file_tab TYPE solix_tab.
|
lt_file_tab TYPE solix_tab.
|
||||||
|
|
||||||
DATA: lv_file_name TYPE string,
|
DATA: lv_full_path TYPE string,
|
||||||
lv_file_path TYPE string,
|
|
||||||
lv_full_path 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 '21_BackgroundColorPicker.xlsx'.
|
CONSTANTS: lv_default_file_name TYPE string VALUE '21_BackgroundColorPicker.xlsx'.
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE string.
|
PARAMETERS: p_path TYPE zexcel_export_dir.
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
||||||
|
lv_workdir = p_path.
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = p_path
|
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
||||||
CHANGING selected_folder = p_path ).
|
CHANGING selected_folder = lv_workdir ).
|
||||||
|
p_path = lv_workdir.
|
||||||
|
|
||||||
INITIALIZATION.
|
INITIALIZATION.
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
||||||
|
@ -78,7 +80,7 @@ START-OF-SELECTION.
|
||||||
p_path = lv_workdir.
|
p_path = lv_workdir.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO p_path.
|
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
||||||
|
|
||||||
" Creates active sheet
|
" Creates active sheet
|
||||||
CREATE OBJECT lo_excel.
|
CREATE OBJECT lo_excel.
|
||||||
|
@ -130,13 +132,21 @@ START-OF-SELECTION.
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
||||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
lv_file = lo_excel_writer->write_file( lo_excel ).
|
||||||
|
|
||||||
* Convert to binary
|
" Convert to binary
|
||||||
lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
||||||
lv_bytecount = XSTRLEN( lv_file ).
|
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
|
" Save the file
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
||||||
filename = p_path
|
filename = lv_full_path
|
||||||
filetype = 'BIN'
|
filetype = 'BIN'
|
||||||
CHANGING data_tab = lt_file_tab ).</source>
|
CHANGING data_tab = lt_file_tab ).</source>
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
|
@ -1,12 +1,14 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="utf-16"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL22" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20101220" UNAM="FEMIA" UDAT="20101221" VERN="000018" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20101221" STIME="161716" IDATE="20101221" ITIME="161716" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL22" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20101220" UNAM="BCUSER" UDAT="20101224" VERN="000022" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20101224" STIME="123216" IDATE="20101224" ITIME="123216" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="abap2xlsx Demo: Export internal table" LENGTH="37 "/>
|
<textElement ID="R" ENTRY="abap2xlsx Demo: Export internal table" LENGTH="37 "/>
|
||||||
|
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
||||||
</language>
|
</language>
|
||||||
</textPool>
|
</textPool>
|
||||||
|
<programDocumentation/>
|
||||||
<source>*&---------------------------------------------------------------------*
|
<source>*&---------------------------------------------------------------------*
|
||||||
*& Report ZIFE_TEST_EXCEL
|
*& Report ZDEMO_EXCEL22
|
||||||
*&
|
*&
|
||||||
*&---------------------------------------------------------------------*
|
*&---------------------------------------------------------------------*
|
||||||
*&
|
*&
|
||||||
|
@ -20,8 +22,7 @@ DATA: lo_excel TYPE REF TO zcl_excel,
|
||||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||||
lo_style TYPE REF TO zcl_excel_style,
|
lo_style TYPE REF TO zcl_excel_style,
|
||||||
lo_style_editable TYPE REF TO zcl_excel_style,
|
lo_style_editable TYPE REF TO zcl_excel_style,
|
||||||
lo_data_validation TYPE REF TO zcl_excel_data_validation,
|
lo_data_validation TYPE REF TO zcl_excel_data_validation.
|
||||||
column_dimension TYPE REF TO zcl_excel_worksheet_columndime.
|
|
||||||
|
|
||||||
DATA: lt_field_catalog TYPE zexcel_t_fieldcatalog,
|
DATA: lt_field_catalog TYPE zexcel_t_fieldcatalog,
|
||||||
ls_table_settings TYPE zexcel_s_table_settings,
|
ls_table_settings TYPE zexcel_s_table_settings,
|
||||||
|
@ -32,9 +33,7 @@ DATA: lv_file TYPE xstring,
|
||||||
lv_bytecount TYPE i,
|
lv_bytecount TYPE i,
|
||||||
lt_file_tab TYPE solix_tab.
|
lt_file_tab TYPE solix_tab.
|
||||||
|
|
||||||
DATA: lv_file_name TYPE string,
|
DATA: lv_full_path TYPE string,
|
||||||
lv_file_path TYPE string,
|
|
||||||
lv_full_path TYPE string,
|
|
||||||
lv_workdir TYPE string,
|
lv_workdir TYPE string,
|
||||||
lv_file_separator TYPE c,
|
lv_file_separator TYPE c,
|
||||||
lv_row TYPE char10.
|
lv_row TYPE char10.
|
||||||
|
@ -43,12 +42,13 @@ FIELD-SYMBOLS: <fs_field_catalog> TYPE zexcel_s_fieldcatalog.
|
||||||
|
|
||||||
CONSTANTS: lv_default_file_name TYPE string VALUE '22_itab_fieldcatalog.xlsx'.
|
CONSTANTS: lv_default_file_name TYPE string VALUE '22_itab_fieldcatalog.xlsx'.
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE string.
|
PARAMETERS: p_path TYPE zexcel_export_dir.
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
||||||
|
lv_workdir = p_path.
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = p_path
|
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
||||||
CHANGING selected_folder = p_path ).
|
CHANGING selected_folder = lv_workdir ).
|
||||||
|
p_path = lv_workdir.
|
||||||
|
|
||||||
INITIALIZATION.
|
INITIALIZATION.
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
||||||
|
@ -60,7 +60,7 @@ START-OF-SELECTION.
|
||||||
p_path = lv_workdir.
|
p_path = lv_workdir.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO p_path.
|
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
||||||
|
|
||||||
" Creates active sheet
|
" Creates active sheet
|
||||||
CREATE OBJECT lo_excel.
|
CREATE OBJECT lo_excel.
|
||||||
|
@ -114,7 +114,7 @@ START-OF-SELECTION.
|
||||||
WHEN 'PRICE'.
|
WHEN 'PRICE'.
|
||||||
<fs_field_catalog>-position = 4.
|
<fs_field_catalog>-position = 4.
|
||||||
<fs_field_catalog>-dynpfld = abap_true.
|
<fs_field_catalog>-dynpfld = abap_true.
|
||||||
<fs_field_catalog>-style = lo_style_editable->get_guid( )..
|
<fs_field_catalog>-style = lo_style_editable->get_guid( ).
|
||||||
<fs_field_catalog>-totals_function = zcl_excel_table=>totals_function_sum.
|
<fs_field_catalog>-totals_function = zcl_excel_table=>totals_function_sum.
|
||||||
WHEN OTHERS.
|
WHEN OTHERS.
|
||||||
<fs_field_catalog>-dynpfld = abap_false.
|
<fs_field_catalog>-dynpfld = abap_false.
|
||||||
|
@ -146,13 +146,21 @@ START-OF-SELECTION.
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
||||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
lv_file = lo_excel_writer->write_file( lo_excel ).
|
||||||
|
|
||||||
* Convert to binary
|
" Convert to binary
|
||||||
lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
||||||
lv_bytecount = XSTRLEN( lv_file ).
|
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
|
" Save the file
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
||||||
filename = p_path
|
filename = lv_full_path
|
||||||
filetype = 'BIN'
|
filetype = 'BIN'
|
||||||
CHANGING data_tab = lt_file_tab ).</source>
|
CHANGING data_tab = lt_file_tab ).</source>
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
|
@ -1,12 +1,14 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="utf-16"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL3" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="FEMIA" UDAT="20101217" VERN="000028" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20101217" STIME="224925" IDATE="20101217" ITIME="224925" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL3" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="BCUSER" UDAT="20101224" VERN="000031" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20101224" STIME="104803" IDATE="20101224" ITIME="104803" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="abap2xlsx Demo: Export internal table" LENGTH="37 "/>
|
<textElement ID="R" ENTRY="abap2xlsx Demo: Export internal table" LENGTH="37 "/>
|
||||||
|
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
||||||
</language>
|
</language>
|
||||||
</textPool>
|
</textPool>
|
||||||
|
<programDocumentation/>
|
||||||
<source>*&---------------------------------------------------------------------*
|
<source>*&---------------------------------------------------------------------*
|
||||||
*& Report ZIFE_TEST_EXCEL
|
*& Report ZDEMO_EXCEL3
|
||||||
*&
|
*&
|
||||||
*&---------------------------------------------------------------------*
|
*&---------------------------------------------------------------------*
|
||||||
*&
|
*&
|
||||||
|
@ -26,20 +28,19 @@ DATA: lv_file TYPE xstring,
|
||||||
lv_bytecount TYPE i,
|
lv_bytecount TYPE i,
|
||||||
lt_file_tab TYPE solix_tab.
|
lt_file_tab TYPE solix_tab.
|
||||||
|
|
||||||
DATA: lv_file_name TYPE string,
|
DATA: lv_full_path TYPE string,
|
||||||
lv_file_path TYPE string,
|
|
||||||
lv_full_path 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 '03_iTab.xlsx'.
|
CONSTANTS: lv_default_file_name TYPE string VALUE '03_iTab.xlsx'.
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE string.
|
PARAMETERS: p_path TYPE zexcel_export_dir.
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
||||||
|
lv_workdir = p_path.
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = p_path
|
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
||||||
CHANGING selected_folder = p_path ).
|
CHANGING selected_folder = lv_workdir ).
|
||||||
|
p_path = lv_workdir.
|
||||||
|
|
||||||
INITIALIZATION.
|
INITIALIZATION.
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
||||||
|
@ -51,7 +52,7 @@ START-OF-SELECTION.
|
||||||
p_path = lv_workdir.
|
p_path = lv_workdir.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO p_path.
|
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
||||||
|
|
||||||
" Creates active sheet
|
" Creates active sheet
|
||||||
CREATE OBJECT lo_excel.
|
CREATE OBJECT lo_excel.
|
||||||
|
@ -77,13 +78,21 @@ START-OF-SELECTION.
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
||||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
lv_file = lo_excel_writer->write_file( lo_excel ).
|
||||||
|
|
||||||
* Convert to binary
|
" Convert to binary
|
||||||
lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
||||||
lv_bytecount = XSTRLEN( lv_file ).
|
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
|
" Save the file
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
||||||
filename = p_path
|
filename = lv_full_path
|
||||||
filetype = 'BIN'
|
filetype = 'BIN'
|
||||||
CHANGING data_tab = lt_file_tab ).</source>
|
CHANGING data_tab = lt_file_tab ).</source>
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="utf-16"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL4" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="FEMIA" UDAT="20101217" VERN="000023" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20101217" STIME="225005" IDATE="20101217" ITIME="225005" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL4" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="BCUSER" UDAT="20101224" VERN="000026" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20101224" STIME="104753" IDATE="20101224" ITIME="104753" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="abap2xlsx Demo: Create XLXS with multiple sheets" LENGTH="48 "/>
|
<textElement ID="R" ENTRY="abap2xlsx Demo: Create XLXS with multiple sheets" LENGTH="48 "/>
|
||||||
</language>
|
</language>
|
||||||
</textPool>
|
</textPool>
|
||||||
|
<programDocumentation/>
|
||||||
<source>*&---------------------------------------------------------------------*
|
<source>*&---------------------------------------------------------------------*
|
||||||
*& Report ZIFE_TEST_EXCEL
|
*& Report ZDEMO_EXCEL4
|
||||||
*&
|
*&
|
||||||
*&---------------------------------------------------------------------*
|
*&---------------------------------------------------------------------*
|
||||||
*&
|
*&
|
||||||
|
@ -24,20 +25,19 @@ DATA: lv_file TYPE xstring,
|
||||||
lv_bytecount TYPE i,
|
lv_bytecount TYPE i,
|
||||||
lt_file_tab TYPE solix_tab.
|
lt_file_tab TYPE solix_tab.
|
||||||
|
|
||||||
DATA: lv_file_name TYPE string,
|
DATA: lv_full_path TYPE string,
|
||||||
lv_file_path TYPE string,
|
|
||||||
lv_full_path 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 '04_Sheets.xlsx'.
|
CONSTANTS: lv_default_file_name TYPE string VALUE '04_Sheets.xlsx'.
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE string.
|
PARAMETERS: p_path TYPE zexcel_export_dir.
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
||||||
|
lv_workdir = p_path.
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = p_path
|
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
||||||
CHANGING selected_folder = p_path ).
|
CHANGING selected_folder = lv_workdir ).
|
||||||
|
p_path = lv_workdir.
|
||||||
|
|
||||||
INITIALIZATION.
|
INITIALIZATION.
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
||||||
|
@ -49,7 +49,7 @@ START-OF-SELECTION.
|
||||||
p_path = lv_workdir.
|
p_path = lv_workdir.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO p_path.
|
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
||||||
|
|
||||||
" Creates active sheet
|
" Creates active sheet
|
||||||
CREATE OBJECT lo_excel.
|
CREATE OBJECT lo_excel.
|
||||||
|
@ -82,13 +82,21 @@ START-OF-SELECTION.
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
||||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
lv_file = lo_excel_writer->write_file( lo_excel ).
|
||||||
|
|
||||||
* Convert to binary
|
" Convert to binary
|
||||||
lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
||||||
lv_bytecount = XSTRLEN( lv_file ).
|
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
|
" Save the file
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
||||||
filename = p_path
|
filename = lv_full_path
|
||||||
filetype = 'BIN'
|
filetype = 'BIN'
|
||||||
CHANGING data_tab = lt_file_tab ).</source>
|
CHANGING data_tab = lt_file_tab ).</source>
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="utf-16"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL5" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="FEMIA" UDAT="20101030" VERN="000023" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20101217" STIME="224554" IDATE="20101030" ITIME="200000" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL5" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="BCUSER" UDAT="20101224" VERN="000027" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20101224" STIME="105026" IDATE="20101224" ITIME="105026" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="abap2xlsx Demo: Conditinal formating" LENGTH="36 "/>
|
<textElement ID="R" ENTRY="abap2xlsx Demo: Conditinal formating" LENGTH="36 "/>
|
||||||
</language>
|
</language>
|
||||||
</textPool>
|
</textPool>
|
||||||
|
<programDocumentation/>
|
||||||
<source>*&---------------------------------------------------------------------*
|
<source>*&---------------------------------------------------------------------*
|
||||||
*& Report ZIFE_TEST_EXCEL
|
*& Report ZDEMO_EXCEL5
|
||||||
*&
|
*&
|
||||||
*&---------------------------------------------------------------------*
|
*&---------------------------------------------------------------------*
|
||||||
*&
|
*&
|
||||||
|
@ -24,20 +25,19 @@ DATA: lv_file TYPE xstring,
|
||||||
lv_bytecount TYPE i,
|
lv_bytecount TYPE i,
|
||||||
lt_file_tab TYPE solix_tab.
|
lt_file_tab TYPE solix_tab.
|
||||||
|
|
||||||
DATA: lv_file_name TYPE string,
|
DATA: lv_full_path TYPE string,
|
||||||
lv_file_path TYPE string,
|
|
||||||
lv_full_path 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 '05_Conditional.xlsx'.
|
CONSTANTS: lv_default_file_name TYPE string VALUE '05_Conditional.xlsx'.
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE string.
|
PARAMETERS: p_path TYPE zexcel_export_dir.
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
||||||
|
lv_workdir = p_path.
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = p_path
|
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
||||||
CHANGING selected_folder = p_path ).
|
CHANGING selected_folder = lv_workdir ).
|
||||||
|
p_path = lv_workdir.
|
||||||
|
|
||||||
INITIALIZATION.
|
INITIALIZATION.
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
||||||
|
@ -49,7 +49,7 @@ START-OF-SELECTION.
|
||||||
p_path = lv_workdir.
|
p_path = lv_workdir.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO p_path.
|
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
||||||
|
|
||||||
CREATE OBJECT lo_excel.
|
CREATE OBJECT lo_excel.
|
||||||
|
|
||||||
|
@ -75,13 +75,21 @@ START-OF-SELECTION.
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
||||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
lv_file = lo_excel_writer->write_file( lo_excel ).
|
||||||
|
|
||||||
* Convert to binary
|
" Convert to binary
|
||||||
lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
||||||
lv_bytecount = XSTRLEN( lv_file ).
|
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
|
" Save the file
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
||||||
filename = p_path
|
filename = lv_full_path
|
||||||
filetype = 'BIN'
|
filetype = 'BIN'
|
||||||
CHANGING data_tab = lt_file_tab ).</source>
|
CHANGING data_tab = lt_file_tab ).</source>
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
|
@ -1,12 +1,14 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="utf-16"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL6" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="FEMIA" UDAT="20101030" VERN="000029" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20101217" STIME="224554" IDATE="20101030" ITIME="200000" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL6" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="BCUSER" UDAT="20101224" VERN="000031" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20101224" STIME="104946" IDATE="20101224" ITIME="104946" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="abap2xlsx Demo: Formulas" LENGTH="24 "/>
|
<textElement ID="R" ENTRY="abap2xlsx Demo: Formulas" LENGTH="24 "/>
|
||||||
|
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
||||||
</language>
|
</language>
|
||||||
</textPool>
|
</textPool>
|
||||||
|
<programDocumentation/>
|
||||||
<source>*&---------------------------------------------------------------------*
|
<source>*&---------------------------------------------------------------------*
|
||||||
*& Report ZIFE_TEST_EXCEL
|
*& Report ZDEMO_EXCEL6
|
||||||
*&
|
*&
|
||||||
*&---------------------------------------------------------------------*
|
*&---------------------------------------------------------------------*
|
||||||
*&
|
*&
|
||||||
|
@ -23,20 +25,19 @@ DATA: lv_file TYPE xstring,
|
||||||
lv_bytecount TYPE i,
|
lv_bytecount TYPE i,
|
||||||
lt_file_tab TYPE solix_tab.
|
lt_file_tab TYPE solix_tab.
|
||||||
|
|
||||||
DATA: lv_file_name TYPE string,
|
DATA: lv_full_path TYPE string,
|
||||||
lv_file_path TYPE string,
|
|
||||||
lv_full_path 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 '06_Formulas.xlsx'.
|
CONSTANTS: lv_default_file_name TYPE string VALUE '06_Formulas.xlsx'.
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE string.
|
PARAMETERS: p_path TYPE zexcel_export_dir.
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
||||||
|
lv_workdir = p_path.
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = p_path
|
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
||||||
CHANGING selected_folder = p_path ).
|
CHANGING selected_folder = lv_workdir ).
|
||||||
|
p_path = lv_workdir.
|
||||||
|
|
||||||
INITIALIZATION.
|
INITIALIZATION.
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
||||||
|
@ -48,7 +49,7 @@ START-OF-SELECTION.
|
||||||
p_path = lv_workdir.
|
p_path = lv_workdir.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO p_path.
|
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
||||||
|
|
||||||
CREATE OBJECT lo_excel.
|
CREATE OBJECT lo_excel.
|
||||||
|
|
||||||
|
@ -65,13 +66,21 @@ START-OF-SELECTION.
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
||||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
lv_file = lo_excel_writer->write_file( lo_excel ).
|
||||||
|
|
||||||
* Convert to binary
|
" Convert to binary
|
||||||
lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
||||||
lv_bytecount = XSTRLEN( lv_file ).
|
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
|
" Save the file
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
||||||
filename = p_path
|
filename = lv_full_path
|
||||||
filetype = 'BIN'
|
filetype = 'BIN'
|
||||||
CHANGING data_tab = lt_file_tab ).</source>
|
CHANGING data_tab = lt_file_tab ).</source>
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
|
@ -1,12 +1,14 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="utf-16"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL7" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="FEMIA" UDAT="20101030" VERN="000025" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20101217" STIME="224554" IDATE="20101030" ITIME="200001" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL7" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="BCUSER" UDAT="20101224" VERN="000028" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20101224" STIME="105126" IDATE="20101224" ITIME="105126" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="abap2xlsx Demo: All conditional formating possibilities" LENGTH="55 "/>
|
<textElement ID="R" ENTRY="abap2xlsx Demo: All conditional formating possibilities" LENGTH="55 "/>
|
||||||
|
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
||||||
</language>
|
</language>
|
||||||
</textPool>
|
</textPool>
|
||||||
|
<programDocumentation/>
|
||||||
<source>*&---------------------------------------------------------------------*
|
<source>*&---------------------------------------------------------------------*
|
||||||
*& Report ZIFE_TEST_EXCEL
|
*& Report ZDEMO_EXCEL7
|
||||||
*&
|
*&
|
||||||
*&---------------------------------------------------------------------*
|
*&---------------------------------------------------------------------*
|
||||||
*&
|
*&
|
||||||
|
@ -24,20 +26,19 @@ DATA: lv_file TYPE xstring,
|
||||||
lv_bytecount TYPE i,
|
lv_bytecount TYPE i,
|
||||||
lt_file_tab TYPE solix_tab.
|
lt_file_tab TYPE solix_tab.
|
||||||
|
|
||||||
DATA: lv_file_name TYPE string,
|
DATA: lv_full_path TYPE string,
|
||||||
lv_file_path TYPE string,
|
|
||||||
lv_full_path 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 '07_ConditionalAll.xlsx'.
|
CONSTANTS: lv_default_file_name TYPE string VALUE '07_ConditionalAll.xlsx'.
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE string.
|
PARAMETERS: p_path TYPE zexcel_export_dir.
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
||||||
|
lv_workdir = p_path.
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = p_path
|
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
||||||
CHANGING selected_folder = p_path ).
|
CHANGING selected_folder = lv_workdir ).
|
||||||
|
p_path = lv_workdir.
|
||||||
|
|
||||||
INITIALIZATION.
|
INITIALIZATION.
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
||||||
|
@ -49,7 +50,7 @@ START-OF-SELECTION.
|
||||||
p_path = lv_workdir.
|
p_path = lv_workdir.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO p_path.
|
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
||||||
|
|
||||||
CREATE OBJECT lo_excel.
|
CREATE OBJECT lo_excel.
|
||||||
|
|
||||||
|
@ -330,13 +331,21 @@ START-OF-SELECTION.
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
||||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
lv_file = lo_excel_writer->write_file( lo_excel ).
|
||||||
|
|
||||||
* Convert to binary
|
" Convert to binary
|
||||||
lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
||||||
lv_bytecount = XSTRLEN( lv_file ).
|
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
|
" Save the file
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
||||||
filename = p_path
|
filename = lv_full_path
|
||||||
filetype = 'BIN'
|
filetype = 'BIN'
|
||||||
CHANGING data_tab = lt_file_tab ).</source>
|
CHANGING data_tab = lt_file_tab ).</source>
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
|
@ -1,12 +1,14 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="utf-16"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL8" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100713" UNAM="FEMIA" UDAT="20101217" VERN="000024" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20101217" STIME="230023" IDATE="20101217" ITIME="230023" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL8" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100713" UNAM="BCUSER" UDAT="20101224" VERN="000029" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20101224" STIME="105352" IDATE="20101224" ITIME="105352" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="abap2xlsx Demo: Define a range" LENGTH="30 "/>
|
<textElement ID="R" ENTRY="abap2xlsx Demo: Define a range" LENGTH="30 "/>
|
||||||
|
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
||||||
</language>
|
</language>
|
||||||
</textPool>
|
</textPool>
|
||||||
|
<programDocumentation/>
|
||||||
<source>*&---------------------------------------------------------------------*
|
<source>*&---------------------------------------------------------------------*
|
||||||
*& Report ZIFE_TEST_EXCEL
|
*& Report ZDEMO_EXCEL8
|
||||||
*&
|
*&
|
||||||
*&---------------------------------------------------------------------*
|
*&---------------------------------------------------------------------*
|
||||||
*&
|
*&
|
||||||
|
@ -18,28 +20,26 @@ REPORT zdemo_excel8.
|
||||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
lo_excel_writer TYPE REF TO zif_excel_writer,
|
||||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||||
lo_range TYPE REF TO zcl_excel_range,
|
lo_range TYPE REF TO zcl_excel_range.
|
||||||
lv_style_number_guid TYPE zexcel_cell_style.
|
|
||||||
|
|
||||||
DATA: lv_file TYPE xstring,
|
DATA: lv_file TYPE xstring,
|
||||||
lv_bytecount TYPE i,
|
lv_bytecount TYPE i,
|
||||||
lt_file_tab TYPE solix_tab.
|
lt_file_tab TYPE solix_tab.
|
||||||
|
|
||||||
DATA: lv_file_name TYPE string,
|
DATA: lv_full_path TYPE string,
|
||||||
lv_file_path TYPE string,
|
|
||||||
lv_full_path TYPE string,
|
|
||||||
lv_workdir TYPE string,
|
lv_workdir TYPE string,
|
||||||
lv_title TYPE ZEXCEL_SHEET_TITLE,
|
lv_title TYPE zexcel_sheet_title,
|
||||||
lv_file_separator TYPE c.
|
lv_file_separator TYPE c.
|
||||||
|
|
||||||
CONSTANTS: lv_default_file_name TYPE string VALUE '08_Range.xlsx'.
|
CONSTANTS: lv_default_file_name TYPE string VALUE '08_Range.xlsx'.
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE string.
|
PARAMETERS: p_path TYPE zexcel_export_dir.
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
||||||
|
lv_workdir = p_path.
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = p_path
|
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
||||||
CHANGING selected_folder = p_path ).
|
CHANGING selected_folder = lv_workdir ).
|
||||||
|
p_path = lv_workdir.
|
||||||
|
|
||||||
INITIALIZATION.
|
INITIALIZATION.
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
||||||
|
@ -51,7 +51,7 @@ START-OF-SELECTION.
|
||||||
p_path = lv_workdir.
|
p_path = lv_workdir.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO p_path.
|
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
||||||
|
|
||||||
CREATE OBJECT lo_excel.
|
CREATE OBJECT lo_excel.
|
||||||
|
|
||||||
|
@ -77,13 +77,21 @@ START-OF-SELECTION.
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
||||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
lv_file = lo_excel_writer->write_file( lo_excel ).
|
||||||
|
|
||||||
* Convert to binary
|
" Convert to binary
|
||||||
lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
||||||
lv_bytecount = XSTRLEN( lv_file ).
|
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
|
" Save the file
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
||||||
filename = p_path
|
filename = lv_full_path
|
||||||
filetype = 'BIN'
|
filetype = 'BIN'
|
||||||
CHANGING data_tab = lt_file_tab ).</source>
|
CHANGING data_tab = lt_file_tab ).</source>
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
|
@ -1,12 +1,14 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="utf-16"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL9" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100713" UNAM="FEMIA" UDAT="20101217" VERN="000031" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20101217" STIME="230307" IDATE="20101217" ITIME="230307" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL9" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100713" UNAM="BCUSER" UDAT="20101224" VERN="000034" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20101224" STIME="105525" IDATE="20101224" ITIME="105525" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="abap2xlsx Demo: Data validation (Dropdown list)" LENGTH="47 "/>
|
<textElement ID="R" ENTRY="abap2xlsx Demo: Data validation (Dropdown list)" LENGTH="47 "/>
|
||||||
|
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
||||||
</language>
|
</language>
|
||||||
</textPool>
|
</textPool>
|
||||||
|
<programDocumentation/>
|
||||||
<source>*&---------------------------------------------------------------------*
|
<source>*&---------------------------------------------------------------------*
|
||||||
*& Report ZIFE_TEST_EXCEL
|
*& Report ZDEMO_EXCEL9
|
||||||
*&
|
*&
|
||||||
*&---------------------------------------------------------------------*
|
*&---------------------------------------------------------------------*
|
||||||
*&
|
*&
|
||||||
|
@ -19,28 +21,26 @@ DATA: lo_excel TYPE REF TO zcl_excel,
|
||||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
lo_excel_writer TYPE REF TO zif_excel_writer,
|
||||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||||
lo_range TYPE REF TO zcl_excel_range,
|
lo_range TYPE REF TO zcl_excel_range,
|
||||||
lo_data_validation TYPE REF TO zcl_excel_data_validation,
|
lo_data_validation TYPE REF TO zcl_excel_data_validation.
|
||||||
lv_style_number_guid TYPE zexcel_cell_style.
|
|
||||||
|
|
||||||
DATA: lv_file TYPE xstring,
|
DATA: lv_file TYPE xstring,
|
||||||
lv_bytecount TYPE i,
|
lv_bytecount TYPE i,
|
||||||
lt_file_tab TYPE solix_tab.
|
lt_file_tab TYPE solix_tab.
|
||||||
|
|
||||||
DATA: lv_file_name TYPE string,
|
DATA: lv_full_path TYPE string,
|
||||||
lv_file_path TYPE string,
|
|
||||||
lv_full_path TYPE string,
|
|
||||||
lv_workdir TYPE string,
|
lv_workdir TYPE string,
|
||||||
lv_title TYPE ZEXCEL_SHEET_TITLE,
|
lv_title TYPE zexcel_sheet_title,
|
||||||
lv_file_separator TYPE c.
|
lv_file_separator TYPE c.
|
||||||
|
|
||||||
CONSTANTS: lv_default_file_name TYPE string VALUE '09_DataValidation.xlsx'.
|
CONSTANTS: lv_default_file_name TYPE string VALUE '09_DataValidation.xlsx'.
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE string.
|
PARAMETERS: p_path TYPE zexcel_export_dir.
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
||||||
|
lv_workdir = p_path.
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = p_path
|
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
||||||
CHANGING selected_folder = p_path ).
|
CHANGING selected_folder = lv_workdir ).
|
||||||
|
p_path = lv_workdir.
|
||||||
|
|
||||||
INITIALIZATION.
|
INITIALIZATION.
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
||||||
|
@ -52,9 +52,9 @@ START-OF-SELECTION.
|
||||||
p_path = lv_workdir.
|
p_path = lv_workdir.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO p_path.
|
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
||||||
|
|
||||||
|
|
||||||
|
" Creates active sheet
|
||||||
CREATE OBJECT lo_excel.
|
CREATE OBJECT lo_excel.
|
||||||
|
|
||||||
" Get active sheet
|
" Get active sheet
|
||||||
|
@ -90,13 +90,21 @@ START-OF-SELECTION.
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
||||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
lv_file = lo_excel_writer->write_file( lo_excel ).
|
||||||
|
|
||||||
* Convert to binary
|
" Convert to binary
|
||||||
lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
||||||
lv_bytecount = XSTRLEN( lv_file ).
|
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
|
" Save the file
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
||||||
filename = p_path
|
filename = lv_full_path
|
||||||
filetype = 'BIN'
|
filetype = 'BIN'
|
||||||
CHANGING data_tab = lt_file_tab ).</source>
|
CHANGING data_tab = lt_file_tab ).</source>
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user