Demo reports have no longer fixed output

git-svn-id: https://subversion.assembla.com/svn/abap2xlsx/trunk@22 b7d68dce-7c3c-4a99-8ce0-9ea847f5d049
This commit is contained in:
Ivan Femia 2010-09-24 13:50:05 +00:00
parent e6f84e7b51
commit 72b99e10da
21 changed files with 1377 additions and 1022 deletions

View File

@ -1,8 +1,9 @@
<?xml version="1.0" encoding="utf-16"?>
<PROG NAME="ZDEMO_EXCEL" VARCL="X" SUBC="1" CNAM="BCUSER" CDAT="20100817" UNAM="FEMIA" UDAT="20100923" VERN="000018" RSTAT="T" RMAND="000" RLOAD="E" FIXPT="X" SDATE="20100923" STIME="233645" IDATE="20100923" ITIME="233645" UCCHECK="X">
<PROG NAME="ZDEMO_EXCEL" VARCL="X" SUBC="1" CNAM="BCUSER" CDAT="20100817" UNAM="FEMIA" UDAT="20100924" VERN="000023" RSTAT="T" RMAND="000" RLOAD="E" FIXPT="X" SDATE="20100924" STIME="153901" IDATE="20100924" ITIME="153901" UCCHECK="X">
<textPool>
<language SPRAS="E">
<textElement ID="R" ENTRY="Run all ABAP2XLSX Demo Programs" LENGTH="31 "/>
<textElement ID="S" KEY="P_PATH" ENTRY=" Select output path" LENGTH="26 "/>
</language>
</textPool>
<source>*&amp;---------------------------------------------------------------------*
@ -15,23 +16,42 @@
REPORT zdemo_excel.
SUBMIT zdemo_excel1 AND RETURN. &quot; Hello world
SUBMIT zdemo_excel2 AND RETURN. &quot; Styles
SUBMIT zdemo_excel3 AND RETURN. &quot; iTab binding
SUBMIT zdemo_excel4 AND RETURN. &quot; Multi sheets and page setup
SUBMIT zdemo_excel5 AND RETURN. &quot; Conditional formatting
SUBMIT zdemo_excel6 AND RETURN. &quot; Formulas
SUBMIT zdemo_excel7 AND RETURN. &quot; Conditional formatting
SUBMIT zdemo_excel8 AND RETURN. &quot; Ranges
SUBMIT zdemo_excel9 AND RETURN. &quot; Data validation
SUBMIT zdemo_excel10 AND RETURN. &quot; Bind table with field catalog
&quot; zdemo_excel11 is not added because it has a selection screen and
&quot; you also need to have business partners maintained in transaction BP
SUBMIT zdemo_excel12 AND RETURN. &quot; Column size
SUBMIT zdemo_excel13 AND RETURN. &quot; Merge cell
SUBMIT zdemo_excel14 AND RETURN. &quot; Alignment
SUBMIT zdemo_excel15 AND RETURN. &quot; Read Excel and write it back
SUBMIT zdemo_excel16 AND RETURN. &quot; Read Excel and write it back
SUBMIT zdemo_excel17 AND RETURN. &quot; Lock sheet
SUBMIT zdemo_excel18 AND RETURN. &quot; Lock workbook</source>
DATA: lv_workdir TYPE string.
PARAMETERS: p_path TYPE string.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
cl_gui_frontend_services=&gt;directory_browse( EXPORTING initial_folder = p_path
CHANGING selected_folder = p_path ).
INITIALIZATION.
cl_gui_frontend_services=&gt;get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
p_path = lv_workdir.
START-OF-SELECTION.
IF p_path IS INITIAL.
p_path = lv_workdir.
ENDIF.
SUBMIT zdemo_excel1 with p_path = p_path AND RETURN. &quot; Hello world
SUBMIT zdemo_excel2 with p_path = p_path AND RETURN. &quot; Styles
SUBMIT zdemo_excel3 with p_path = p_path AND RETURN. &quot; iTab binding
SUBMIT zdemo_excel4 with p_path = p_path AND RETURN. &quot; Multi sheets and page setup
SUBMIT zdemo_excel5 with p_path = p_path AND RETURN. &quot; Conditional formatting
SUBMIT zdemo_excel6 with p_path = p_path AND RETURN. &quot; Formulas
SUBMIT zdemo_excel7 with p_path = p_path AND RETURN. &quot; Conditional formatting
SUBMIT zdemo_excel8 with p_path = p_path AND RETURN. &quot; Ranges
SUBMIT zdemo_excel9 with p_path = p_path AND RETURN. &quot; Data validation
SUBMIT zdemo_excel10 with p_path = p_path AND RETURN. &quot; Bind table with field catalog
&quot; zdemo_excel11 is not added because it has a selection screen and
&quot; you also need to have business partners maintained in transaction BP
SUBMIT zdemo_excel12 with p_path = p_path AND RETURN. &quot; Column size
SUBMIT zdemo_excel13 with p_path = p_path AND RETURN. &quot; Merge cell
SUBMIT zdemo_excel14 with p_path = p_path AND RETURN. &quot; Alignment
SUBMIT zdemo_excel15 with p_path = p_path AND RETURN. &quot; Read Excel and write it back
SUBMIT zdemo_excel16 with p_path = p_path AND RETURN. &quot; Drawing
SUBMIT zdemo_excel17 with p_path = p_path AND RETURN. &quot; Lock sheet
SUBMIT zdemo_excel18 with p_path = p_path AND RETURN. &quot; Lock workbook</source>
</PROG>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-16"?>
<PROG NAME="ZDEMO_EXCEL1" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="FEMIA" UDAT="20100904" VERN="000036" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20100905" STIME="163357" IDATE="20100904" ITIME="183249" UCCHECK="X">
<PROG NAME="ZDEMO_EXCEL1" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="FEMIA" UDAT="20100924" VERN="000062" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20100924" STIME="153901" IDATE="20100924" ITIME="153901" UCCHECK="X">
<textPool>
<language SPRAS="E">
<textElement ID="R" ENTRY="Test for excel" LENGTH="14 "/>
@ -21,36 +21,55 @@ DATA: lo_excel TYPE REF TO zcl_excel,
DATA: lv_file TYPE xstring,
lv_bytecount TYPE i,
lt_file_tab TYPE STANDARD TABLE OF solisti1.
lt_file_tab TYPE solix_tab.
&quot; Creates active sheet
CREATE OBJECT lo_excel.
DATA: lv_file_name TYPE string,
lv_file_path TYPE string,
lv_full_path TYPE string,
lv_workdir TYPE string,
lv_file_separator TYPE c.
&quot; Get active sheet
lo_worksheet = lo_excel-&gt;get_active_worksheet( ).
lo_worksheet-&gt;title = &apos;Sheet1&apos;.
lo_worksheet-&gt;set_cell( ip_column = &apos;B&apos; ip_row = 2 ip_value = &apos;Hello world&apos; ).
lo_worksheet-&gt;set_cell( ip_column = &apos;B&apos; ip_row = 3 ip_value = sy-datum ).
lo_worksheet-&gt;set_cell( ip_column = &apos;C&apos; ip_row = 3 ip_value = sy-uzeit ).
CONSTANTS: lv_default_file_name TYPE string VALUE &apos;01_HelloWorld.xlsx&apos;.
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
lv_file = lo_excel_writer-&gt;write_file( lo_excel ).
PARAMETERS: p_path TYPE string.
&quot; Convert to binary
CALL FUNCTION &apos;SCMS_XSTRING_TO_BINARY&apos;
EXPORTING
buffer = lv_file
IMPORTING
output_length = lv_bytecount
TABLES
binary_tab = lt_file_tab.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
&quot; Save the file
CALL FUNCTION &apos;GUI_DOWNLOAD&apos;
EXPORTING
bin_filesize = lv_bytecount
filename = &apos;C:\HelloWorld.xlsx&apos;
filetype = &apos;BIN&apos;
TABLES
data_tab = lt_file_tab.</source>
cl_gui_frontend_services=&gt;directory_browse( EXPORTING initial_folder = p_path
CHANGING selected_folder = p_path ).
INITIALIZATION.
cl_gui_frontend_services=&gt;get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
p_path = lv_workdir.
START-OF-SELECTION.
IF p_path IS INITIAL.
p_path = lv_workdir.
ENDIF.
cl_gui_frontend_services=&gt;get_file_separator( CHANGING file_separator = lv_file_separator ).
CONCATENATE p_path lv_file_separator lv_default_file_name INTO p_path.
&quot; Creates active sheet
CREATE OBJECT lo_excel.
&quot; Get active sheet
lo_worksheet = lo_excel-&gt;get_active_worksheet( ).
lo_worksheet-&gt;title = &apos;Sheet1&apos;.
lo_worksheet-&gt;set_cell( ip_column = &apos;B&apos; ip_row = 2 ip_value = &apos;Hello world&apos; ).
lo_worksheet-&gt;set_cell( ip_column = &apos;B&apos; ip_row = 3 ip_value = sy-datum ).
lo_worksheet-&gt;set_cell( ip_column = &apos;C&apos; ip_row = 3 ip_value = sy-uzeit ).
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
lv_file = lo_excel_writer-&gt;write_file( lo_excel ).
* Convert to binary
lt_file_tab = cl_bcs_convert=&gt;xstring_to_solix( iv_xstring = lv_file ).
lv_bytecount = xstrlen( lv_file ).
&quot; Save the file
cl_gui_frontend_services=&gt;gui_download( EXPORTING bin_filesize = lv_bytecount
filename = p_path
filetype = &apos;BIN&apos;
CHANGING data_tab = lt_file_tab ).</source>
</PROG>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-16"?>
<PROG NAME="ZDEMO_EXCEL10" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100719" UNAM="VONDRUSKA" UDAT="20100917" VERN="000058" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20100917" STIME="105913" IDATE="20100917" ITIME="105913" UCCHECK="X">
<PROG NAME="ZDEMO_EXCEL10" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100719" UNAM="FEMIA" UDAT="20100924" VERN="000061" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20100924" STIME="153901" IDATE="20100924" ITIME="153901" UCCHECK="X">
<textPool>
<language SPRAS="E">
<textElement ID="R" ENTRY="Test for excel" LENGTH="14 "/>
@ -16,87 +16,108 @@
REPORT zdemo_excel10.
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_style_conditional2 TYPE REF TO zcl_excel_style_conditional,
column_dimension TYPE REF TO zcl_excel_worksheet_columndime.
DATA: lt_field_catalog TYPE zexcel_t_fieldcatalog,
ls_field_catalog TYPE zexcel_s_fieldcatalog,
ls_table_settings TYPE zexcel_s_table_settings.
DATA: lv_file TYPE xstring,
lv_bytecount TYPE i,
lt_field_catalog TYPE zexcel_t_fieldcatalog,
ls_field_catalog TYPE zexcel_s_fieldcatalog,
ls_table_settings TYPE zexcel_s_table_settings,
lt_file_tab TYPE STANDARD TABLE OF solisti1.
lt_file_tab TYPE solix_tab.
FIELD-SYMBOLS: &lt;fs_field_catalog&gt; TYPE zexcel_s_fieldcatalog.
DATA: lv_file_name TYPE string,
lv_file_path TYPE string,
lv_full_path TYPE string,
lv_workdir TYPE string,
lv_file_separator TYPE c.
&quot; Creates active sheet
CREATE OBJECT lo_excel.
CONSTANTS: lv_default_file_name TYPE string VALUE &apos;10_iTabFieldCatalog.xlsx&apos;.
&quot; Get active sheet
lo_worksheet = lo_excel-&gt;get_active_worksheet( ).
lo_worksheet-&gt;title = &apos;Internal table&apos;.
PARAMETERS: p_path TYPE string.
&quot;Conditional style
lo_style_conditional2 = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional2-&gt;rule = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional2-&gt;iconset = zcl_excel_style_conditional=&gt;c_iconset_5arrows.
lo_style_conditional2-&gt;priority = 1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
DATA lt_test TYPE TABLE OF sflight.
SELECT * FROM sflight INTO TABLE lt_test.
cl_gui_frontend_services=&gt;directory_browse( EXPORTING initial_folder = p_path
CHANGING selected_folder = p_path ).
lt_field_catalog = zcl_excel_common=&gt;get_fieldcatalog( ip_table = lt_test ).
INITIALIZATION.
cl_gui_frontend_services=&gt;get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
p_path = lv_workdir.
LOOP AT lt_field_catalog ASSIGNING &lt;fs_field_catalog&gt;.
CASE &lt;fs_field_catalog&gt;-fieldname.
WHEN &apos;CARRID&apos;.
&lt;fs_field_catalog&gt;-position = 3.
&lt;fs_field_catalog&gt;-dynpfld = abap_true.
&lt;fs_field_catalog&gt;-totals_function = zcl_excel_table=&gt;totals_function_count.
WHEN &apos;CONNID&apos;.
&lt;fs_field_catalog&gt;-position = 4.
&lt;fs_field_catalog&gt;-dynpfld = abap_true.
WHEN &apos;FLDATE&apos;.
&lt;fs_field_catalog&gt;-position = 2.
&lt;fs_field_catalog&gt;-dynpfld = abap_true.
WHEN &apos;PRICE&apos;.
&lt;fs_field_catalog&gt;-position = 1.
&lt;fs_field_catalog&gt;-dynpfld = abap_true.
&lt;fs_field_catalog&gt;-totals_function = zcl_excel_table=&gt;totals_function_sum.
&lt;fs_field_catalog&gt;-cond_style = lo_style_conditional2.
WHEN OTHERS.
&lt;fs_field_catalog&gt;-dynpfld = abap_false.
ENDCASE.
ENDLOOP.
START-OF-SELECTION.
ls_table_settings-table_style = zcl_excel_table=&gt;builtinstyle_medium5.
IF p_path IS INITIAL.
p_path = lv_workdir.
ENDIF.
cl_gui_frontend_services=&gt;get_file_separator( CHANGING file_separator = lv_file_separator ).
CONCATENATE p_path lv_file_separator lv_default_file_name INTO p_path.
lo_worksheet-&gt;bind_table( ip_table = lt_test
is_table_settings = ls_table_settings
it_field_catalog = lt_field_catalog ).
column_dimension = lo_worksheet-&gt;get_column_dimension( &apos;D&apos; ). &quot;make date field a bit wider
column_dimension-&gt;set_width( ip_width = 13 ).
FIELD-SYMBOLS: &lt;fs_field_catalog&gt; TYPE zexcel_s_fieldcatalog.
create object lo_excel_writer type zcl_excel_writer_2007.
lv_file = lo_excel_writer-&gt;write_file( lo_excel ).
&quot; Creates active sheet
CREATE OBJECT lo_excel.
&quot; Convert to binary
CALL FUNCTION &apos;SCMS_XSTRING_TO_BINARY&apos;
EXPORTING
buffer = lv_file
IMPORTING
output_length = lv_bytecount
TABLES
binary_tab = lt_file_tab.
&quot; Get active sheet
lo_worksheet = lo_excel-&gt;get_active_worksheet( ).
lo_worksheet-&gt;title = &apos;Internal table&apos;.
&quot; Save the file
CALL FUNCTION &apos;GUI_DOWNLOAD&apos;
EXPORTING
bin_filesize = lv_bytecount
filename = &apos;C:\iTabFieldCatalog.xlsx&apos;
&quot;Conditional style
lo_style_conditional2 = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional2-&gt;rule = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional2-&gt;iconset = zcl_excel_style_conditional=&gt;c_iconset_5arrows.
lo_style_conditional2-&gt;priority = 1.
DATA lt_test TYPE TABLE OF sflight.
SELECT * FROM sflight INTO TABLE lt_test.
lt_field_catalog = zcl_excel_common=&gt;get_fieldcatalog( ip_table = lt_test ).
LOOP AT lt_field_catalog ASSIGNING &lt;fs_field_catalog&gt;.
CASE &lt;fs_field_catalog&gt;-fieldname.
WHEN &apos;CARRID&apos;.
&lt;fs_field_catalog&gt;-position = 3.
&lt;fs_field_catalog&gt;-dynpfld = abap_true.
&lt;fs_field_catalog&gt;-totals_function = zcl_excel_table=&gt;totals_function_count.
WHEN &apos;CONNID&apos;.
&lt;fs_field_catalog&gt;-position = 4.
&lt;fs_field_catalog&gt;-dynpfld = abap_true.
WHEN &apos;FLDATE&apos;.
&lt;fs_field_catalog&gt;-position = 2.
&lt;fs_field_catalog&gt;-dynpfld = abap_true.
WHEN &apos;PRICE&apos;.
&lt;fs_field_catalog&gt;-position = 1.
&lt;fs_field_catalog&gt;-dynpfld = abap_true.
&lt;fs_field_catalog&gt;-totals_function = zcl_excel_table=&gt;totals_function_sum.
&lt;fs_field_catalog&gt;-cond_style = lo_style_conditional2.
WHEN OTHERS.
&lt;fs_field_catalog&gt;-dynpfld = abap_false.
ENDCASE.
ENDLOOP.
ls_table_settings-table_style = zcl_excel_table=&gt;builtinstyle_medium5.
lo_worksheet-&gt;bind_table( ip_table = lt_test
is_table_settings = ls_table_settings
it_field_catalog = lt_field_catalog ).
column_dimension = lo_worksheet-&gt;get_column_dimension( &apos;D&apos; ). &quot;make date field a bit wider
column_dimension-&gt;set_width( ip_width = 13 ).
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
lv_file = lo_excel_writer-&gt;write_file( lo_excel ).
* Convert to binary
lt_file_tab = cl_bcs_convert=&gt;xstring_to_solix( iv_xstring = lv_file ).
lv_bytecount = XSTRLEN( lv_file ).
&quot; Save the file
cl_gui_frontend_services=&gt;gui_download( EXPORTING bin_filesize = lv_bytecount
filename = p_path
filetype = &apos;BIN&apos;
TABLES
data_tab = lt_file_tab.</source>
CHANGING data_tab = lt_file_tab ).</source>
</PROG>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-16"?>
<PROG NAME="ZDEMO_EXCEL11" VARCL="X" SUBC="1" CNAM="BCUSER" CDAT="20100809" UNAM="VONDRUSKA" UDAT="20100917" VERN="000041" RSTAT="K" RMAND="000" RLOAD="E" FIXPT="X" SDATE="20100917" STIME="110149" IDATE="20100917" ITIME="110149" UCCHECK="X">
<PROG NAME="ZDEMO_EXCEL11" VARCL="X" SUBC="1" CNAM="BCUSER" CDAT="20100809" UNAM="FEMIA" UDAT="20100924" VERN="000043" RSTAT="K" RMAND="000" RLOAD="E" FIXPT="X" SDATE="20100924" STIME="153901" IDATE="20100924" ITIME="153901" UCCHECK="X">
<textPool>
<language SPRAS="E">
<textElement ID="R" ENTRY="Export Organisation and Contact Persons using ABAP2XLSX" LENGTH="55 "/>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-16"?>
<PROG NAME="ZDEMO_EXCEL12" VARCL="X" SUBC="1" CNAM="BCUSER" CDAT="20100811" UNAM="VONDRUSKA" UDAT="20100917" VERN="000024" RSTAT="T" RMAND="000" RLOAD="E" FIXPT="X" SDATE="20100917" STIME="110247" IDATE="20100917" ITIME="110247" UCCHECK="X">
<PROG NAME="ZDEMO_EXCEL12" VARCL="X" SUBC="1" CNAM="BCUSER" CDAT="20100811" UNAM="FEMIA" UDAT="20100924" VERN="000027" RSTAT="T" RMAND="000" RLOAD="E" FIXPT="X" SDATE="20100924" STIME="153902" IDATE="20100924" ITIME="153902" UCCHECK="X">
<textPool>
<language SPRAS="E">
<textElement ID="R" ENTRY="Hide Columns" LENGTH="12 "/>
@ -23,7 +23,35 @@ DATA: lo_excel TYPE REF TO zcl_excel,
DATA: lv_file TYPE xstring,
lv_bytecount TYPE i,
lt_file_tab TYPE STANDARD TABLE OF solisti1.
lt_file_tab TYPE solix_tab.
DATA: lv_file_name TYPE string,
lv_file_path TYPE string,
lv_full_path TYPE string,
lv_workdir TYPE string,
lv_file_separator TYPE c.
CONSTANTS: lv_default_file_name TYPE string VALUE &apos;12_HideSizeOutlineRowsAndColumns.xlsx&apos;.
PARAMETERS: p_path TYPE string.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
cl_gui_frontend_services=&gt;directory_browse( EXPORTING initial_folder = p_path
CHANGING selected_folder = p_path ).
INITIALIZATION.
cl_gui_frontend_services=&gt;get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
p_path = lv_workdir.
START-OF-SELECTION.
IF p_path IS INITIAL.
p_path = lv_workdir.
ENDIF.
cl_gui_frontend_services=&gt;get_file_separator( CHANGING file_separator = lv_file_separator ).
CONCATENATE p_path lv_file_separator lv_default_file_name INTO p_path.
&quot; Creates active sheet
CREATE OBJECT lo_excel.
@ -75,21 +103,13 @@ row_dimension-&gt;set_outline_level( 2 ).
create object lo_excel_writer type zcl_excel_writer_2007.
lv_file = lo_excel_writer-&gt;write_file( lo_excel ).
&quot; Convert to binary
CALL FUNCTION &apos;SCMS_XSTRING_TO_BINARY&apos;
EXPORTING
buffer = lv_file
IMPORTING
output_length = lv_bytecount
TABLES
binary_tab = lt_file_tab.
* Convert to binary
lt_file_tab = cl_bcs_convert=&gt;xstring_to_solix( iv_xstring = lv_file ).
lv_bytecount = xstrlen( lv_file ).
&quot; Save the file
CALL FUNCTION &apos;GUI_DOWNLOAD&apos;
EXPORTING
bin_filesize = lv_bytecount
filename = &apos;C:\HideSizeOutlineRowsAndColumns.xlsx&apos;
filetype = &apos;BIN&apos;
TABLES
data_tab = lt_file_tab.</source>
cl_gui_frontend_services=&gt;gui_download( exporting bin_filesize = lv_bytecount
filename = p_path
filetype = &apos;BIN&apos;
changing data_tab = lt_file_tab ).</source>
</PROG>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-16"?>
<PROG NAME="ZDEMO_EXCEL13" VARCL="X" SUBC="1" CNAM="ATEJADA" CDAT="20100812" UNAM="FEMIA" UDAT="20100905" VERN="000018" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20100905" STIME="164207" IDATE="20100905" ITIME="164207" UCCHECK="X">
<PROG NAME="ZDEMO_EXCEL13" VARCL="X" SUBC="1" CNAM="ATEJADA" CDAT="20100812" UNAM="FEMIA" UDAT="20100924" VERN="000022" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20100924" STIME="153902" IDATE="20100924" ITIME="153902" UCCHECK="X">
<textPool>
<language SPRAS="E">
<textElement ID="R" ENTRY="Test for excel" LENGTH="14 "/>
@ -16,62 +16,83 @@
REPORT zdemo_excel13.
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_range TYPE REF TO zcl_excel_range,
lv_file TYPE xstring,
lv_style_number_guid TYPE zexcel_cell_style,
lv_bytecount TYPE i,
lt_file_tab TYPE STANDARD TABLE OF solisti1,
lv_style_bold_border_guid TYPE zexcel_cell_style,
lo_style_bold_border TYPE REF TO zcl_excel_style,
lo_border_dark TYPE REF TO zcl_excel_style_border.
CREATE OBJECT lo_excel.
DATA: lv_file TYPE xstring,
lv_bytecount TYPE i,
lt_file_tab TYPE solix_tab.
&quot; Get active sheet
lo_worksheet = lo_excel-&gt;get_active_worksheet( ).
lo_worksheet-&gt;title = &apos;sheet1&apos;.
DATA: lv_file_name TYPE string,
lv_file_path TYPE string,
lv_full_path TYPE string,
lv_workdir TYPE string,
lv_file_separator TYPE c.
CREATE OBJECT lo_border_dark.
lo_border_dark-&gt;border_color = zcl_excel_style_color=&gt;c_black.
lo_border_dark-&gt;border_style = zcl_excel_style_border=&gt;c_border_thin.
CONSTANTS: lv_default_file_name TYPE string VALUE &apos;13_MergedCells.xlsx&apos;.
lo_style_bold_border = lo_excel-&gt;add_new_style( ).
lo_style_bold_border-&gt;font-&gt;bold = abap_true.
lo_style_bold_border-&gt;font-&gt;italic = abap_false.
lo_style_bold_border-&gt;font-&gt;color = zcl_excel_style_color=&gt;c_black.
lo_style_bold_border-&gt;alignment-&gt;horizontal = zcl_excel_style_alignment=&gt;c_horizontal_center.
lo_style_bold_border-&gt;borders-&gt;allborders = lo_border_dark.
lv_style_bold_border_guid = lo_style_bold_border-&gt;get_guid( ).
PARAMETERS: p_path TYPE string.
lo_worksheet-&gt;set_cell( ip_row = 2 ip_column = &apos;A&apos; ip_value = &apos;Test&apos; ).
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
lo_worksheet-&gt;set_cell( ip_row = 2 ip_column = &apos;B&apos; ip_value = &apos;Banana&apos; ip_style = lv_style_bold_border_guid ).
lo_worksheet-&gt;set_cell( ip_row = 2 ip_column = &apos;C&apos; ip_value = &apos;&apos; ip_style = lv_style_bold_border_guid ).
lo_worksheet-&gt;set_cell( ip_row = 2 ip_column = &apos;D&apos; ip_value = &apos;&apos; ip_style = lv_style_bold_border_guid ).
lo_worksheet-&gt;set_cell( ip_row = 2 ip_column = &apos;E&apos; ip_value = &apos;&apos; ip_style = lv_style_bold_border_guid ).
lo_worksheet-&gt;set_cell( ip_row = 2 ip_column = &apos;F&apos; ip_value = &apos;&apos; ip_style = lv_style_bold_border_guid ).
lo_worksheet-&gt;set_cell( ip_row = 2 ip_column = &apos;G&apos; ip_value = &apos;&apos; ip_style = lv_style_bold_border_guid ).
lo_worksheet-&gt;set_merge( ip_row = 2 ip_column_start = &apos;B&apos; ip_column_end = &apos;G&apos; ).
cl_gui_frontend_services=&gt;directory_browse( EXPORTING initial_folder = p_path
CHANGING selected_folder = p_path ).
create object lo_excel_writer type zcl_excel_writer_2007.
lv_file = lo_excel_writer-&gt;write_file( lo_excel ).
INITIALIZATION.
cl_gui_frontend_services=&gt;get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
p_path = lv_workdir.
&quot;convert to table
CALL FUNCTION &apos;SCMS_XSTRING_TO_BINARY&apos;
EXPORTING
buffer = lv_file
IMPORTING
output_length = lv_bytecount
TABLES
binary_tab = lt_file_tab.
&quot;Save the file
CALL FUNCTION &apos;GUI_DOWNLOAD&apos;
EXPORTING
bin_filesize = lv_bytecount
filename = &apos;C:\Merged_Cells.xlsx&apos;
START-OF-SELECTION.
IF p_path IS INITIAL.
p_path = lv_workdir.
ENDIF.
cl_gui_frontend_services=&gt;get_file_separator( CHANGING file_separator = lv_file_separator ).
CONCATENATE p_path lv_file_separator lv_default_file_name INTO p_path.
CREATE OBJECT lo_excel.
&quot; Get active sheet
lo_worksheet = lo_excel-&gt;get_active_worksheet( ).
lo_worksheet-&gt;title = &apos;sheet1&apos;.
CREATE OBJECT lo_border_dark.
lo_border_dark-&gt;border_color = zcl_excel_style_color=&gt;c_black.
lo_border_dark-&gt;border_style = zcl_excel_style_border=&gt;c_border_thin.
lo_style_bold_border = lo_excel-&gt;add_new_style( ).
lo_style_bold_border-&gt;font-&gt;bold = abap_true.
lo_style_bold_border-&gt;font-&gt;italic = abap_false.
lo_style_bold_border-&gt;font-&gt;color = zcl_excel_style_color=&gt;c_black.
lo_style_bold_border-&gt;alignment-&gt;horizontal = zcl_excel_style_alignment=&gt;c_horizontal_center.
lo_style_bold_border-&gt;borders-&gt;allborders = lo_border_dark.
lv_style_bold_border_guid = lo_style_bold_border-&gt;get_guid( ).
lo_worksheet-&gt;set_cell( ip_row = 2 ip_column = &apos;A&apos; ip_value = &apos;Test&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 2 ip_column = &apos;B&apos; ip_value = &apos;Banana&apos; ip_style = lv_style_bold_border_guid ).
lo_worksheet-&gt;set_cell( ip_row = 2 ip_column = &apos;C&apos; ip_value = &apos;&apos; ip_style = lv_style_bold_border_guid ).
lo_worksheet-&gt;set_cell( ip_row = 2 ip_column = &apos;D&apos; ip_value = &apos;&apos; ip_style = lv_style_bold_border_guid ).
lo_worksheet-&gt;set_cell( ip_row = 2 ip_column = &apos;E&apos; ip_value = &apos;&apos; ip_style = lv_style_bold_border_guid ).
lo_worksheet-&gt;set_cell( ip_row = 2 ip_column = &apos;F&apos; ip_value = &apos;&apos; ip_style = lv_style_bold_border_guid ).
lo_worksheet-&gt;set_cell( ip_row = 2 ip_column = &apos;G&apos; ip_value = &apos;&apos; ip_style = lv_style_bold_border_guid ).
lo_worksheet-&gt;set_merge( ip_row = 2 ip_column_start = &apos;B&apos; ip_column_end = &apos;G&apos; ).
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
lv_file = lo_excel_writer-&gt;write_file( lo_excel ).
* Convert to binary
lt_file_tab = cl_bcs_convert=&gt;xstring_to_solix( iv_xstring = lv_file ).
lv_bytecount = XSTRLEN( lv_file ).
&quot; Save the file
cl_gui_frontend_services=&gt;gui_download( EXPORTING bin_filesize = lv_bytecount
filename = p_path
filetype = &apos;BIN&apos;
TABLES
data_tab = lt_file_tab.</source>
CHANGING data_tab = lt_file_tab ).</source>
</PROG>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-16"?>
<PROG NAME="ZDEMO_EXCEL14" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100817" UNAM="FEMIA" UDAT="20100912" VERN="000038" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20100912" STIME="205336" IDATE="20100912" ITIME="205336" UCCHECK="X">
<PROG NAME="ZDEMO_EXCEL14" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100817" UNAM="FEMIA" UDAT="20100924" VERN="000041" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20100924" STIME="153902" IDATE="20100924" ITIME="153902" UCCHECK="X">
<textPool>
<language SPRAS="E">
<textElement ID="R" ENTRY="Test for excel" LENGTH="14 "/>
@ -18,9 +18,6 @@ REPORT zdemo_excel14.
DATA: lo_excel TYPE REF TO zcl_excel,
lo_excel_writer TYPE REF TO zif_excel_writer,
lo_worksheet TYPE REF TO zcl_excel_worksheet,
lv_file TYPE xstring,
lv_bytecount TYPE i,
lt_file_tab TYPE STANDARD TABLE OF solisti1,
lo_style_center TYPE REF TO zcl_excel_style,
lo_style_right TYPE REF TO zcl_excel_style,
lo_style_left TYPE REF TO zcl_excel_style,
@ -48,121 +45,144 @@ DATA: lo_excel TYPE REF TO zcl_excel,
DATA: lo_row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi.
DATA: lv_file TYPE xstring,
lv_bytecount TYPE i,
lt_file_tab TYPE solix_tab.
CREATE OBJECT lo_excel.
DATA: lv_file_name TYPE string,
lv_file_path TYPE string,
lv_full_path TYPE string,
lv_workdir TYPE string,
lv_file_separator TYPE c.
&quot; Get active sheet
lo_worksheet = lo_excel-&gt;get_active_worksheet( ).
lo_worksheet-&gt;title = &apos;sheet1&apos;.
CONSTANTS: lv_default_file_name TYPE string VALUE &apos;14_Alignment.xlsx&apos;.
&quot;Center
lo_style_center = lo_excel-&gt;add_new_style( ).
lo_style_center-&gt;alignment-&gt;horizontal = zcl_excel_style_alignment=&gt;c_horizontal_center.
lv_style_center_guid = lo_style_center-&gt;get_guid( ).
&quot;Right
lo_style_right = lo_excel-&gt;add_new_style( ).
lo_style_right-&gt;alignment-&gt;horizontal = zcl_excel_style_alignment=&gt;c_horizontal_right.
lv_style_right_guid = lo_style_right-&gt;get_guid( ).
&quot;Left
lo_style_left = lo_excel-&gt;add_new_style( ).
lo_style_left-&gt;alignment-&gt;horizontal = zcl_excel_style_alignment=&gt;c_horizontal_left.
lv_style_left_guid = lo_style_left-&gt;get_guid( ).
&quot;General
lo_style_general = lo_excel-&gt;add_new_style( ).
lo_style_general-&gt;alignment-&gt;horizontal = zcl_excel_style_alignment=&gt;c_horizontal_general.
lv_style_general_guid = lo_style_general-&gt;get_guid( ).
&quot;Bottom
lo_style_bottom = lo_excel-&gt;add_new_style( ).
lo_style_bottom-&gt;alignment-&gt;vertical = zcl_excel_style_alignment=&gt;c_vertical_bottom.
lv_style_bottom_guid = lo_style_bottom-&gt;get_guid( ).
&quot;Middle
lo_style_middle = lo_excel-&gt;add_new_style( ).
lo_style_middle-&gt;alignment-&gt;vertical = zcl_excel_style_alignment=&gt;c_vertical_center.
lv_style_middle_guid = lo_style_middle-&gt;get_guid( ).
&quot;Top
lo_style_top = lo_excel-&gt;add_new_style( ).
lo_style_top-&gt;alignment-&gt;vertical = zcl_excel_style_alignment=&gt;c_vertical_top.
lv_style_top_guid = lo_style_top-&gt;get_guid( ).
&quot;Justify
lo_style_justify = lo_excel-&gt;add_new_style( ).
lo_style_justify-&gt;alignment-&gt;vertical = zcl_excel_style_alignment=&gt;c_vertical_justify.
lv_style_justify_guid = lo_style_justify-&gt;get_guid( ).
PARAMETERS: p_path TYPE string.
&quot;Shrink
lo_style_shrink = lo_excel-&gt;add_new_style( ).
lo_style_shrink-&gt;alignment-&gt;shrinktofit = abap_true.
lv_style_shrink_guid = lo_style_shrink-&gt;get_guid( ).
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
&quot;Indent
lo_style_indent = lo_excel-&gt;add_new_style( ).
lo_style_indent-&gt;alignment-&gt;indent = 5.
lv_style_indent_guid = lo_style_indent-&gt;get_guid( ).
cl_gui_frontend_services=&gt;directory_browse( EXPORTING initial_folder = p_path
CHANGING selected_folder = p_path ).
&quot;Middle / Centered / Wrap
lo_style_mixed = lo_excel-&gt;add_new_style( ).
lo_style_mixed-&gt;alignment-&gt;horizontal = zcl_excel_style_alignment=&gt;c_horizontal_center.
lo_style_mixed-&gt;alignment-&gt;vertical = zcl_excel_style_alignment=&gt;c_vertical_center.
lo_style_mixed-&gt;alignment-&gt;wraptext = abap_true.
lv_style_mixed_guid = lo_style_mixed-&gt;get_guid( ).
INITIALIZATION.
cl_gui_frontend_services=&gt;get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
p_path = lv_workdir.
&quot;Center
lo_style_rotated = lo_excel-&gt;add_new_style( ).
lo_style_rotated-&gt;alignment-&gt;horizontal = zcl_excel_style_alignment=&gt;c_horizontal_center.
lo_style_rotated-&gt;alignment-&gt;vertical = zcl_excel_style_alignment=&gt;c_vertical_center.
lo_style_rotated-&gt;alignment-&gt;textrotation = 165. &quot; -75° == 90° + 75°
lv_style_rotated_guid = lo_style_rotated-&gt;get_guid( ).
START-OF-SELECTION.
IF p_path IS INITIAL.
p_path = lv_workdir.
ENDIF.
cl_gui_frontend_services=&gt;get_file_separator( CHANGING file_separator = lv_file_separator ).
CONCATENATE p_path lv_file_separator lv_default_file_name INTO p_path.
CREATE OBJECT lo_excel.
&quot; Get active sheet
lo_worksheet = lo_excel-&gt;get_active_worksheet( ).
lo_worksheet-&gt;title = &apos;sheet1&apos;.
&quot;Center
lo_style_center = lo_excel-&gt;add_new_style( ).
lo_style_center-&gt;alignment-&gt;horizontal = zcl_excel_style_alignment=&gt;c_horizontal_center.
lv_style_center_guid = lo_style_center-&gt;get_guid( ).
&quot;Right
lo_style_right = lo_excel-&gt;add_new_style( ).
lo_style_right-&gt;alignment-&gt;horizontal = zcl_excel_style_alignment=&gt;c_horizontal_right.
lv_style_right_guid = lo_style_right-&gt;get_guid( ).
&quot;Left
lo_style_left = lo_excel-&gt;add_new_style( ).
lo_style_left-&gt;alignment-&gt;horizontal = zcl_excel_style_alignment=&gt;c_horizontal_left.
lv_style_left_guid = lo_style_left-&gt;get_guid( ).
&quot;General
lo_style_general = lo_excel-&gt;add_new_style( ).
lo_style_general-&gt;alignment-&gt;horizontal = zcl_excel_style_alignment=&gt;c_horizontal_general.
lv_style_general_guid = lo_style_general-&gt;get_guid( ).
&quot;Bottom
lo_style_bottom = lo_excel-&gt;add_new_style( ).
lo_style_bottom-&gt;alignment-&gt;vertical = zcl_excel_style_alignment=&gt;c_vertical_bottom.
lv_style_bottom_guid = lo_style_bottom-&gt;get_guid( ).
&quot;Middle
lo_style_middle = lo_excel-&gt;add_new_style( ).
lo_style_middle-&gt;alignment-&gt;vertical = zcl_excel_style_alignment=&gt;c_vertical_center.
lv_style_middle_guid = lo_style_middle-&gt;get_guid( ).
&quot;Top
lo_style_top = lo_excel-&gt;add_new_style( ).
lo_style_top-&gt;alignment-&gt;vertical = zcl_excel_style_alignment=&gt;c_vertical_top.
lv_style_top_guid = lo_style_top-&gt;get_guid( ).
&quot;Justify
lo_style_justify = lo_excel-&gt;add_new_style( ).
lo_style_justify-&gt;alignment-&gt;vertical = zcl_excel_style_alignment=&gt;c_vertical_justify.
lv_style_justify_guid = lo_style_justify-&gt;get_guid( ).
&quot;Shrink
lo_style_shrink = lo_excel-&gt;add_new_style( ).
lo_style_shrink-&gt;alignment-&gt;shrinktofit = abap_true.
lv_style_shrink_guid = lo_style_shrink-&gt;get_guid( ).
&quot;Indent
lo_style_indent = lo_excel-&gt;add_new_style( ).
lo_style_indent-&gt;alignment-&gt;indent = 5.
lv_style_indent_guid = lo_style_indent-&gt;get_guid( ).
&quot;Middle / Centered / Wrap
lo_style_mixed = lo_excel-&gt;add_new_style( ).
lo_style_mixed-&gt;alignment-&gt;horizontal = zcl_excel_style_alignment=&gt;c_horizontal_center.
lo_style_mixed-&gt;alignment-&gt;vertical = zcl_excel_style_alignment=&gt;c_vertical_center.
lo_style_mixed-&gt;alignment-&gt;wraptext = abap_true.
lv_style_mixed_guid = lo_style_mixed-&gt;get_guid( ).
&quot;Center
lo_style_rotated = lo_excel-&gt;add_new_style( ).
lo_style_rotated-&gt;alignment-&gt;horizontal = zcl_excel_style_alignment=&gt;c_horizontal_center.
lo_style_rotated-&gt;alignment-&gt;vertical = zcl_excel_style_alignment=&gt;c_vertical_center.
lo_style_rotated-&gt;alignment-&gt;textrotation = 165. &quot; -75° == 90° + 75°
lv_style_rotated_guid = lo_style_rotated-&gt;get_guid( ).
&quot; Set row size for first 7 rows to 40
DO 7 TIMES.
lo_row_dimension = lo_worksheet-&gt;get_row_dimension( sy-index ).
lo_row_dimension-&gt;set_row_height( 40 ).
ENDDO.
&quot; Set row size for first 7 rows to 40
DO 7 TIMES.
lo_row_dimension = lo_worksheet-&gt;get_row_dimension( sy-index ).
lo_row_dimension-&gt;set_row_height( 40 ).
ENDDO.
&quot;Horizontal alignment
lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;B&apos; ip_value = &apos;Centered Text&apos; ip_style = lv_style_center_guid ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;B&apos; ip_value = &apos;Right Text&apos; ip_style = lv_style_right_guid ).
lo_worksheet-&gt;set_cell( ip_row = 6 ip_column = &apos;B&apos; ip_value = &apos;Left Text&apos; ip_style = lv_style_left_guid ).
lo_worksheet-&gt;set_cell( ip_row = 7 ip_column = &apos;B&apos; ip_value = &apos;General Text&apos; ip_style = lv_style_general_guid ).
&quot;Horizontal alignment
lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;B&apos; ip_value = &apos;Centered Text&apos; ip_style = lv_style_center_guid ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;B&apos; ip_value = &apos;Right Text&apos; ip_style = lv_style_right_guid ).
lo_worksheet-&gt;set_cell( ip_row = 6 ip_column = &apos;B&apos; ip_value = &apos;Left Text&apos; ip_style = lv_style_left_guid ).
lo_worksheet-&gt;set_cell( ip_row = 7 ip_column = &apos;B&apos; ip_value = &apos;General Text&apos; ip_style = lv_style_general_guid ).
&quot; Shrink &amp; indent
lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;F&apos; ip_value = &apos;Text shrinked&apos; ip_style = lv_style_shrink_guid ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;F&apos; ip_value = &apos;Text indented&apos; ip_style = lv_style_indent_guid ).
&quot; Shrink &amp; indent
lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;F&apos; ip_value = &apos;Text shrinked&apos; ip_style = lv_style_shrink_guid ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;F&apos; ip_value = &apos;Text indented&apos; ip_style = lv_style_indent_guid ).
&quot;Vertical alignment
&quot;Vertical alignment
lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;D&apos; ip_value = &apos;Bottom Text&apos; ip_style = lv_style_bottom_guid ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;D&apos; ip_value = &apos;Middle Text&apos; ip_style = lv_style_middle_guid ).
lo_worksheet-&gt;set_cell( ip_row = 6 ip_column = &apos;D&apos; ip_value = &apos;Top Text&apos; ip_style = lv_style_top_guid ).
lo_worksheet-&gt;set_cell( ip_row = 7 ip_column = &apos;D&apos; ip_value = &apos;Justify Text&apos; ip_style = lv_style_justify_guid ).
lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;D&apos; ip_value = &apos;Bottom Text&apos; ip_style = lv_style_bottom_guid ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;D&apos; ip_value = &apos;Middle Text&apos; ip_style = lv_style_middle_guid ).
lo_worksheet-&gt;set_cell( ip_row = 6 ip_column = &apos;D&apos; ip_value = &apos;Top Text&apos; ip_style = lv_style_top_guid ).
lo_worksheet-&gt;set_cell( ip_row = 7 ip_column = &apos;D&apos; ip_value = &apos;Justify Text&apos; ip_style = lv_style_justify_guid ).
&quot; Wrapped
lo_worksheet-&gt;set_cell( ip_row = 10 ip_column = &apos;B&apos;
ip_value = &apos;This is a wrapped text centered in the middle&apos;
ip_style = lv_style_mixed_guid ).
&quot; Wrapped
lo_worksheet-&gt;set_cell( ip_row = 10 ip_column = &apos;B&apos;
ip_value = &apos;This is a wrapped text centered in the middle&apos;
ip_style = lv_style_mixed_guid ).
&quot; Rotated
lo_worksheet-&gt;set_cell( ip_row = 10 ip_column = &apos;D&apos;
ip_value = &apos;This is a centered text rotated by -75°&apos;
ip_style = lv_style_rotated_guid ).
&quot; Rotated
lo_worksheet-&gt;set_cell( ip_row = 10 ip_column = &apos;D&apos;
ip_value = &apos;This is a centered text rotated by -75°&apos;
ip_style = lv_style_rotated_guid ).
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
lv_file = lo_excel_writer-&gt;write_file( lo_excel ).
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
lv_file = lo_excel_writer-&gt;write_file( lo_excel ).
&quot;convert to table
CALL FUNCTION &apos;SCMS_XSTRING_TO_BINARY&apos;
EXPORTING
buffer = lv_file
IMPORTING
output_length = lv_bytecount
TABLES
binary_tab = lt_file_tab.
&quot;Save the file
CALL FUNCTION &apos;GUI_DOWNLOAD&apos;
EXPORTING
bin_filesize = lv_bytecount
filename = &apos;C:\Alignment.xlsx&apos;
filetype = &apos;BIN&apos;
TABLES
data_tab = lt_file_tab.</source>
* Convert to binary
lt_file_tab = cl_bcs_convert=&gt;xstring_to_solix( iv_xstring = lv_file ).
lv_bytecount = XSTRLEN( lv_file ).
&quot; Save the file
cl_gui_frontend_services=&gt;gui_download( EXPORTING bin_filesize = lv_bytecount
filename = p_path
filetype = &apos;BIN&apos;
CHANGING data_tab = lt_file_tab ).</source>
</PROG>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-16"?>
<PROG NAME="ZDEMO_EXCEL15" VARCL="X" SUBC="1" CNAM="BCUSER" CDAT="20100820" UNAM="FEMIA" UDAT="20100905" VERN="000007" RSTAT="T" RMAND="000" RLOAD="E" FIXPT="X" SDATE="20100915" STIME="094448" IDATE="20100905" ITIME="164325" UCCHECK="X">
<PROG NAME="ZDEMO_EXCEL15" VARCL="X" SUBC="1" CNAM="BCUSER" CDAT="20100820" UNAM="FEMIA" UDAT="20100924" VERN="000012" RSTAT="T" RMAND="000" RLOAD="E" FIXPT="X" SDATE="20100924" STIME="153902" IDATE="20100924" ITIME="153902" UCCHECK="X">
<textPool>
<language SPRAS="E">
<textElement ID="R" ENTRY="ABAP2XLSX Reader Demo" LENGTH="21 "/>
@ -21,33 +21,52 @@ DATA: excel TYPE REF TO zcl_excel,
DATA: lv_file TYPE xstring,
lv_bytecount TYPE i,
lt_file_tab TYPE STANDARD TABLE OF solisti1.
lt_file_tab TYPE solix_tab.
TRY.
CREATE OBJECT reader TYPE zcl_excel_reader_2007.
excel = reader-&gt;load_file( &apos;C:\iTab.xlsx&apos; ).
DATA: lv_workdir TYPE string,
lv_path TYPE string,
lv_file_separator TYPE c.
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
lv_file = lo_excel_writer-&gt;write_file( excel ).
CONSTANTS: lv_default_file_name TYPE string VALUE &apos;15_iTabFromReader.xlsx&apos;,
lv_default_input TYPE string VALUE &apos;03_iTab.xlsx&apos;.
&quot; Convert to binary
CALL FUNCTION &apos;SCMS_XSTRING_TO_BINARY&apos;
EXPORTING
buffer = lv_file
IMPORTING
output_length = lv_bytecount
TABLES
binary_tab = lt_file_tab.
PARAMETERS: p_path TYPE string.
&quot; Save the file
CALL FUNCTION &apos;GUI_DOWNLOAD&apos;
EXPORTING
bin_filesize = lv_bytecount
filename = &apos;C:\iTabFromReader.xlsx&apos;
filetype = &apos;BIN&apos;
TABLES
data_tab = lt_file_tab.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
CATCH zcx_excel. &quot; Exceptions for ABAP2XLSX
ENDTRY.</source>
cl_gui_frontend_services=&gt;directory_browse( EXPORTING initial_folder = p_path
CHANGING selected_folder = p_path ).
INITIALIZATION.
cl_gui_frontend_services=&gt;get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
p_path = lv_workdir.
START-OF-SELECTION.
IF p_path IS INITIAL.
p_path = lv_workdir.
ENDIF.
cl_gui_frontend_services=&gt;get_file_separator( CHANGING file_separator = lv_file_separator ).
CONCATENATE p_path lv_file_separator lv_default_file_name INTO p_path.
TRY.
CONCATENATE p_path lv_file_separator lv_default_input INTO lv_path.
CREATE OBJECT reader TYPE zcl_excel_reader_2007.
excel = reader-&gt;load_file( lv_path ).
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
lv_file = lo_excel_writer-&gt;write_file( excel ).
* Convert to binary
lt_file_tab = cl_bcs_convert=&gt;xstring_to_solix( iv_xstring = lv_file ).
lv_bytecount = XSTRLEN( lv_file ).
&quot; Save the file
cl_gui_frontend_services=&gt;gui_download( EXPORTING bin_filesize = lv_bytecount
filename = p_path
filetype = &apos;BIN&apos;
CHANGING data_tab = lt_file_tab ).
CATCH zcx_excel. &quot; Exceptions for ABAP2XLSX
ENDTRY.</source>
</PROG>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-16"?>
<PROG NAME="ZDEMO_EXCEL16" VARCL="X" SUBC="1" CNAM="VONDRUSKA" CDAT="20100914" UNAM="VONDRUSKA" UDAT="20100917" VERN="000051" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20100917" STIME="082516" IDATE="20100917" ITIME="082516" UCCHECK="X">
<PROG NAME="ZDEMO_EXCEL16" VARCL="X" SUBC="1" CNAM="VONDRUSKA" CDAT="20100914" UNAM="FEMIA" UDAT="20100924" VERN="000054" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20100924" STIME="153902" IDATE="20100924" ITIME="153902" UCCHECK="X">
<textPool>
<language SPRAS="E">
<textElement ID="R" ENTRY="Test for excel - drawings" LENGTH="25 "/>
@ -23,111 +23,127 @@ DATA: lo_excel TYPE REF TO zcl_excel,
DATA: lv_file TYPE xstring,
lv_bytecount TYPE i,
lt_file_tab TYPE STANDARD TABLE OF solisti1.
lt_file_tab TYPE solix_tab.
&quot; Creates active sheet
CREATE OBJECT lo_excel.
DATA: lv_workdir TYPE string,
lv_file_separator TYPE c.
&quot;Load samle image
DATA: lt_bin TYPE solix_tab,
lv_len TYPE i,
lv_content TYPE xstring,
ls_key TYPE wwwdatatab.
CONSTANTS: lv_default_file_name TYPE string VALUE &apos;16_Drawings.xlsx&apos;.
CALL METHOD cl_gui_frontend_services=&gt;gui_upload
EXPORTING
filename = &apos;c:\Program Files\SAP\FrontEnd\SAPgui\wwi\graphics\W_bio.bmp&apos;
filetype = &apos;BIN&apos;
IMPORTING
filelength = lv_len
CHANGING
data_tab = lt_bin
EXCEPTIONS
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
bad_data_format = 8
header_not_allowed = 9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
not_supported_by_gui = 17
error_no_gui = 18
OTHERS = 19.
IF sy-subrc &lt;&gt; 0.
PARAMETERS: p_path TYPE string.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
cl_gui_frontend_services=&gt;directory_browse( EXPORTING initial_folder = p_path
CHANGING selected_folder = p_path ).
INITIALIZATION.
cl_gui_frontend_services=&gt;get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
p_path = lv_workdir.
START-OF-SELECTION.
IF p_path IS INITIAL.
p_path = lv_workdir.
ENDIF.
cl_gui_frontend_services=&gt;get_file_separator( CHANGING file_separator = lv_file_separator ).
CONCATENATE p_path lv_file_separator lv_default_file_name INTO p_path.
&quot; Creates active sheet
CREATE OBJECT lo_excel.
&quot;Load samle image
DATA: lt_bin TYPE solix_tab,
lv_len TYPE i,
lv_content TYPE xstring,
ls_key TYPE wwwdatatab.
CALL METHOD cl_gui_frontend_services=&gt;gui_upload
EXPORTING
filename = &apos;c:\Program Files\SAP\FrontEnd\SAPgui\wwi\graphics\W_bio.bmp&apos;
filetype = &apos;BIN&apos;
IMPORTING
filelength = lv_len
CHANGING
data_tab = lt_bin
EXCEPTIONS
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
bad_data_format = 8
header_not_allowed = 9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
not_supported_by_gui = 17
error_no_gui = 18
OTHERS = 19.
IF sy-subrc &lt;&gt; 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
CALL FUNCTION &apos;SCMS_BINARY_TO_XSTRING&apos;
EXPORTING
input_length = lv_len
IMPORTING
buffer = lv_content
TABLES
binary_tab = lt_bin
EXCEPTIONS
failed = 1
OTHERS = 2.
CALL FUNCTION &apos;SCMS_BINARY_TO_XSTRING&apos;
EXPORTING
input_length = lv_len
IMPORTING
buffer = lv_content
TABLES
binary_tab = lt_bin
EXCEPTIONS
failed = 1
OTHERS = 2.
&quot; Get active sheet
lo_worksheet = lo_excel-&gt;get_active_worksheet( ).
lo_worksheet-&gt;title = &apos;Sheet1&apos;.
lo_worksheet-&gt;set_cell( ip_column = &apos;B&apos; ip_row = 2 ip_value = &apos;Image from web repository (SMW0)&apos; ).
&quot; Get active sheet
lo_worksheet = lo_excel-&gt;get_active_worksheet( ).
lo_worksheet-&gt;title = &apos;Sheet1&apos;.
lo_worksheet-&gt;set_cell( ip_column = &apos;B&apos; ip_row = 2 ip_value = &apos;Image from web repository (SMW0)&apos; ).
&quot; create global drawing, set position and media from web repository
lo_drawing = lo_excel-&gt;add_new_drawing( ).
lo_drawing-&gt;set_position( ip_from_row = 3
ip_from_col = &apos;B&apos; ).
&quot; create global drawing, set position and media from web repository
lo_drawing = lo_excel-&gt;add_new_drawing( ).
lo_drawing-&gt;set_position( ip_from_row = 3
ip_from_col = &apos;B&apos; ).
ls_key-relid = &apos;MI&apos;.
ls_key-objid = &apos;SAPLOGO.GIF&apos;.
lo_drawing-&gt;set_media_www( ip_key = ls_key
ip_width = 166
ip_height = 75 ).
ls_key-relid = &apos;MI&apos;.
ls_key-objid = &apos;SAPLOGO.GIF&apos;.
lo_drawing-&gt;set_media_www( ip_key = ls_key
ip_width = 166
ip_height = 75 ).
&quot; assign drawing to the worksheet
lo_worksheet-&gt;add_drawing( lo_drawing ).
&quot; assign drawing to the worksheet
lo_worksheet-&gt;add_drawing( lo_drawing ).
&quot; another drawing from a XSTRING read from a file
lo_worksheet-&gt;set_cell( ip_column = &apos;B&apos; ip_row = 8 ip_value = &apos;Image from a file (c:\Program Files\SAP\FrontEnd\SAPgui\wwi\graphics\W_bio.bmp)&apos; ).
lo_drawing = lo_excel-&gt;add_new_drawing( ).
lo_drawing-&gt;set_position( ip_from_row = 9
ip_from_col = &apos;B&apos; ).
lo_drawing-&gt;set_media( ip_media = lv_content
ip_media_type = &apos;bmp&apos;
ip_width = 83
ip_height = 160 ).
&quot; another drawing from a XSTRING read from a file
lo_worksheet-&gt;set_cell( ip_column = &apos;B&apos; ip_row = 8 ip_value = &apos;Image from a file (c:\Program Files\SAP\FrontEnd\SAPgui\wwi\graphics\W_bio.bmp)&apos; ).
lo_drawing = lo_excel-&gt;add_new_drawing( ).
lo_drawing-&gt;set_position( ip_from_row = 9
ip_from_col = &apos;B&apos; ).
lo_drawing-&gt;set_media( ip_media = lv_content
ip_media_type = &apos;bmp&apos;
ip_width = 83
ip_height = 160 ).
lo_worksheet-&gt;add_drawing( lo_drawing ).
lo_worksheet-&gt;add_drawing( lo_drawing ).
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
lv_file = lo_excel_writer-&gt;write_file( lo_excel ).
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
lv_file = lo_excel_writer-&gt;write_file( lo_excel ).
&quot; Convert to binary
CALL FUNCTION &apos;SCMS_XSTRING_TO_BINARY&apos;
EXPORTING
buffer = lv_file
IMPORTING
output_length = lv_bytecount
TABLES
binary_tab = lt_file_tab.
* Convert to binary
lt_file_tab = cl_bcs_convert=&gt;xstring_to_solix( iv_xstring = lv_file ).
lv_bytecount = XSTRLEN( lv_file ).
&quot; Save the file
CALL FUNCTION &apos;GUI_DOWNLOAD&apos;
EXPORTING
bin_filesize = lv_bytecount
filename = &apos;C:\Drawings.xlsx&apos;
&quot; Save the file
cl_gui_frontend_services=&gt;gui_download( EXPORTING bin_filesize = lv_bytecount
filename = p_path
filetype = &apos;BIN&apos;
TABLES
data_tab = lt_file_tab.</source>
CHANGING data_tab = lt_file_tab ).</source>
</PROG>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-16"?>
<PROG NAME="ZDEMO_EXCEL17" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100921" UNAM="FEMIA" UDAT="20100922" VERN="000016" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20100922" STIME="001419" IDATE="20100922" ITIME="001419" UCCHECK="X">
<PROG NAME="ZDEMO_EXCEL17" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100921" UNAM="FEMIA" UDAT="20100924" VERN="000018" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20100924" STIME="153902" IDATE="20100924" ITIME="153902" UCCHECK="X">
<textPool>
<language SPRAS="E">
<textElement ID="R" ENTRY="Test for excel" LENGTH="14 "/>
@ -19,46 +19,64 @@ DATA: lo_excel TYPE REF TO zcl_excel,
lo_excel_writer TYPE REF TO zif_excel_writer,
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_file TYPE xstring,
lv_bytecount TYPE i,
lt_file_tab TYPE STANDARD TABLE OF solisti1.
lv_style_protection_guid TYPE zexcel_cell_style.
CREATE OBJECT lo_excel.
DATA: lv_file TYPE xstring,
lv_bytecount TYPE i,
lt_file_tab TYPE solix_tab.
&quot; Get active sheet
lo_worksheet = lo_excel-&gt;get_active_worksheet( ).
lo_worksheet-&gt;zif_excel_sheet_protection~protected = zif_excel_sheet_protection=&gt;c_protected.
lo_worksheet-&gt;zif_excel_sheet_protection~password = &apos;DAA7&apos;. &quot;it is the encoded word &quot;secret&quot;
DATA: lv_workdir TYPE string,
lv_file_separator TYPE c.
&quot;Center
lo_style_protection = lo_excel-&gt;add_new_style( ).
lo_style_protection-&gt;protection-&gt;locked = zcl_excel_style_protection=&gt;c_protection_unlocked.
lv_style_protection_guid = lo_style_protection-&gt;get_guid( ).
CONSTANTS: lv_default_file_name TYPE string VALUE &apos;17_SheetProtection.xlsx&apos;.
lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;C&apos; ip_value = &apos;This cell is unlocked&apos; ip_style = lv_style_protection_guid ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;C&apos; ip_value = &apos;This cell is locked as all the others empty cell&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 6 ip_column = &apos;C&apos; ip_value = &apos;This cell is unlocked&apos; ip_style = lv_style_protection_guid ).
lo_worksheet-&gt;set_cell( ip_row = 7 ip_column = &apos;C&apos; ip_value = &apos;This cell is unlocked&apos; ip_style = lv_style_protection_guid ).
lo_worksheet-&gt;set_cell( ip_row = 8 ip_column = &apos;C&apos; ip_value = &apos;This cell is locked as all the others empty cell&apos; ).
PARAMETERS: p_path TYPE string.
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
lv_file = lo_excel_writer-&gt;write_file( lo_excel ).
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
&quot;convert to table
CALL FUNCTION &apos;SCMS_XSTRING_TO_BINARY&apos;
EXPORTING
buffer = lv_file
IMPORTING
output_length = lv_bytecount
TABLES
binary_tab = lt_file_tab.
&quot;Save the file
CALL FUNCTION &apos;GUI_DOWNLOAD&apos;
EXPORTING
bin_filesize = lv_bytecount
filename = &apos;C:\Protection.xlsx&apos;
cl_gui_frontend_services=&gt;directory_browse( EXPORTING initial_folder = p_path
CHANGING selected_folder = p_path ).
INITIALIZATION.
cl_gui_frontend_services=&gt;get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
p_path = lv_workdir.
START-OF-SELECTION.
IF p_path IS INITIAL.
p_path = lv_workdir.
ENDIF.
cl_gui_frontend_services=&gt;get_file_separator( CHANGING file_separator = lv_file_separator ).
CONCATENATE p_path lv_file_separator lv_default_file_name INTO p_path.
CREATE OBJECT lo_excel.
&quot; Get active sheet
lo_worksheet = lo_excel-&gt;get_active_worksheet( ).
lo_worksheet-&gt;zif_excel_sheet_protection~protected = zif_excel_sheet_protection=&gt;c_protected.
lo_worksheet-&gt;zif_excel_sheet_protection~password = &apos;DAA7&apos;. &quot;it is the encoded word &quot;secret&quot;
&quot;Center
lo_style_protection = lo_excel-&gt;add_new_style( ).
lo_style_protection-&gt;protection-&gt;locked = zcl_excel_style_protection=&gt;c_protection_unlocked.
lv_style_protection_guid = lo_style_protection-&gt;get_guid( ).
lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;C&apos; ip_value = &apos;This cell is unlocked&apos; ip_style = lv_style_protection_guid ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;C&apos; ip_value = &apos;This cell is locked as all the others empty cell&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 6 ip_column = &apos;C&apos; ip_value = &apos;This cell is unlocked&apos; ip_style = lv_style_protection_guid ).
lo_worksheet-&gt;set_cell( ip_row = 7 ip_column = &apos;C&apos; ip_value = &apos;This cell is unlocked&apos; ip_style = lv_style_protection_guid ).
lo_worksheet-&gt;set_cell( ip_row = 8 ip_column = &apos;C&apos; ip_value = &apos;This cell is locked as all the others empty cell&apos; ).
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
lv_file = lo_excel_writer-&gt;write_file( lo_excel ).
* Convert to binary
lt_file_tab = cl_bcs_convert=&gt;xstring_to_solix( iv_xstring = lv_file ).
lv_bytecount = XSTRLEN( lv_file ).
&quot; Save the file
cl_gui_frontend_services=&gt;gui_download( EXPORTING bin_filesize = lv_bytecount
filename = p_path
filetype = &apos;BIN&apos;
TABLES
data_tab = lt_file_tab.</source>
CHANGING data_tab = lt_file_tab ).</source>
</PROG>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-16"?>
<PROG NAME="ZDEMO_EXCEL18" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100923" UNAM="FEMIA" UDAT="20100923" VERN="000016" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20100923" STIME="233508" IDATE="20100923" ITIME="233508" UCCHECK="X">
<PROG NAME="ZDEMO_EXCEL18" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100923" UNAM="FEMIA" UDAT="20100924" VERN="000019" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20100924" STIME="153902" IDATE="20100924" ITIME="153902" UCCHECK="X">
<textPool>
<language SPRAS="E">
<textElement ID="R" ENTRY="Test for excel" LENGTH="14 "/>
@ -19,40 +19,58 @@ DATA: lo_excel TYPE REF TO zcl_excel,
lo_excel_writer TYPE REF TO zif_excel_writer,
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_file TYPE xstring,
lv_bytecount TYPE i,
lt_file_tab TYPE STANDARD TABLE OF solisti1.
lv_style_protection_guid TYPE zexcel_cell_style.
CREATE OBJECT lo_excel.
DATA: lv_file TYPE xstring,
lv_bytecount TYPE i,
lt_file_tab TYPE solix_tab.
&quot; Get active sheet
lo_excel-&gt;zif_excel_book_protection~protected = zif_excel_book_protection=&gt;c_protected.
lo_excel-&gt;zif_excel_book_protection~lockrevision = zif_excel_book_protection=&gt;c_locked.
lo_excel-&gt;zif_excel_book_protection~lockstructure = zif_excel_book_protection=&gt;c_locked.
lo_excel-&gt;zif_excel_book_protection~lockwindows = zif_excel_book_protection=&gt;c_locked.
DATA: lv_workdir TYPE string,
lv_file_separator TYPE c.
CONSTANTS: lv_default_file_name TYPE string VALUE &apos;18_BookProtection.xlsx&apos;.
PARAMETERS: p_path TYPE string.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
cl_gui_frontend_services=&gt;directory_browse( EXPORTING initial_folder = p_path
CHANGING selected_folder = p_path ).
INITIALIZATION.
cl_gui_frontend_services=&gt;get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
p_path = lv_workdir.
START-OF-SELECTION.
IF p_path IS INITIAL.
p_path = lv_workdir.
ENDIF.
cl_gui_frontend_services=&gt;get_file_separator( CHANGING file_separator = lv_file_separator ).
CONCATENATE p_path lv_file_separator lv_default_file_name INTO p_path.
CREATE OBJECT lo_excel.
&quot; Get active sheet
lo_excel-&gt;zif_excel_book_protection~protected = zif_excel_book_protection=&gt;c_protected.
lo_excel-&gt;zif_excel_book_protection~lockrevision = zif_excel_book_protection=&gt;c_locked.
lo_excel-&gt;zif_excel_book_protection~lockstructure = zif_excel_book_protection=&gt;c_locked.
lo_excel-&gt;zif_excel_book_protection~lockwindows = zif_excel_book_protection=&gt;c_locked.
lo_worksheet = lo_excel-&gt;get_active_worksheet( ).
lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;C&apos; ip_value = &apos;This cell is unlocked&apos; ip_style = lv_style_protection_guid ).
lo_worksheet = lo_excel-&gt;get_active_worksheet( ).
lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;C&apos; ip_value = &apos;This cell is unlocked&apos; ip_style = lv_style_protection_guid ).
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
lv_file = lo_excel_writer-&gt;write_file( lo_excel ).
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
lv_file = lo_excel_writer-&gt;write_file( lo_excel ).
&quot;convert to table
CALL FUNCTION &apos;SCMS_XSTRING_TO_BINARY&apos;
EXPORTING
buffer = lv_file
IMPORTING
output_length = lv_bytecount
TABLES
binary_tab = lt_file_tab.
&quot;Save the file
CALL FUNCTION &apos;GUI_DOWNLOAD&apos;
EXPORTING
bin_filesize = lv_bytecount
filename = &apos;C:\Protection.xlsx&apos;
* Convert to binary
lt_file_tab = cl_bcs_convert=&gt;xstring_to_solix( iv_xstring = lv_file ).
lv_bytecount = XSTRLEN( lv_file ).
&quot; Save the file
cl_gui_frontend_services=&gt;gui_download( EXPORTING bin_filesize = lv_bytecount
filename = p_path
filetype = &apos;BIN&apos;
TABLES
data_tab = lt_file_tab.</source>
CHANGING data_tab = lt_file_tab ).</source>
</PROG>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-16"?>
<PROG NAME="ZDEMO_EXCEL2" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="FEMIA" UDAT="20100905" VERN="000017" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20100905" STIME="163545" IDATE="20100905" ITIME="163545" UCCHECK="X">
<PROG NAME="ZDEMO_EXCEL2" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="FEMIA" UDAT="20100924" VERN="000022" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20100924" STIME="153902" IDATE="20100924" ITIME="153902" UCCHECK="X">
<textPool>
<language SPRAS="E">
<textElement ID="R" ENTRY="Test Styles for ABAP2XLSX" LENGTH="25 "/>
@ -16,7 +16,7 @@
REPORT zdemo_excel2.
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_style_bold TYPE REF TO zcl_excel_style,
lo_style_underline TYPE REF TO zcl_excel_style,
@ -35,83 +35,102 @@ DATA: lv_style_bold_guid TYPE zexcel_cell_style,
DATA: lv_file TYPE xstring,
lv_bytecount TYPE i,
lt_file_tab TYPE STANDARD TABLE OF solisti1.
lt_file_tab TYPE solix_tab.
&quot; Creates active sheet
CREATE OBJECT lo_excel.
DATA: lv_file_name TYPE string,
lv_file_path TYPE string,
lv_full_path TYPE string,
lv_workdir TYPE string,
lv_file_separator TYPE c.
&quot; Create border object
CREATE OBJECT lo_border_dark.
lo_border_dark-&gt;border_color = zcl_excel_style_color=&gt;c_black.
lo_border_dark-&gt;border_style = zcl_excel_style_border=&gt;c_border_thin.
CREATE OBJECT lo_border_light.
lo_border_light-&gt;border_color = zcl_excel_style_color=&gt;c_gray.
lo_border_light-&gt;border_style = zcl_excel_style_border=&gt;c_border_thin.
&quot; Create a bold / italic style
lo_style_bold = lo_excel-&gt;add_new_style( ).
lo_style_bold-&gt;font-&gt;bold = abap_true.
lo_style_bold-&gt;font-&gt;italic = abap_true.
lo_style_bold-&gt;font-&gt;color = zcl_excel_style_color=&gt;c_red.
lv_style_bold_guid = lo_style_bold-&gt;get_guid( ).
&quot; Create an underline double style
lo_style_underline = lo_excel-&gt;add_new_style( ).
lo_style_underline-&gt;font-&gt;underline = abap_true.
lo_style_underline-&gt;font-&gt;underline_mode = zcl_excel_style_font=&gt;c_underline_double.
lv_style_underline_guid = lo_style_underline-&gt;get_guid( ).
&quot; Create filled style yellow
lo_style_filled = lo_excel-&gt;add_new_style( ).
lo_style_filled-&gt;fill-&gt;filltype = zcl_excel_style_fill=&gt;c_fill_solid.
lo_style_filled-&gt;fill-&gt;fgcolor = zcl_excel_style_color=&gt;c_yellow.
lv_style_filled_guid = lo_style_filled-&gt;get_guid( ).
&quot; Create border with button effects
lo_style_button = lo_excel-&gt;add_new_style( ).
lo_style_button-&gt;borders-&gt;right = lo_border_dark.
lo_style_button-&gt;borders-&gt;down = lo_border_dark.
lo_style_button-&gt;borders-&gt;left = lo_border_light.
lo_style_button-&gt;borders-&gt;top = lo_border_light.
lv_style_button_guid = lo_style_button-&gt;get_guid( ).
&quot;Create style with border
lo_style_border = lo_excel-&gt;add_new_style( ).
lo_style_border-&gt;borders-&gt;allborders = lo_border_dark.
lv_style_border_guid = lo_style_border-&gt;get_guid( ).
&quot; Create filled style green
lo_style_filled = lo_excel-&gt;add_new_style( ).
lo_style_filled-&gt;fill-&gt;filltype = zcl_excel_style_fill=&gt;c_fill_solid.
lo_style_filled-&gt;fill-&gt;fgcolor = zcl_excel_style_color=&gt;c_green.
lv_style_filled_green_guid = lo_style_filled-&gt;get_guid( ).
CONSTANTS: lv_default_file_name TYPE string VALUE &apos;02_Styles.xlsx&apos;.
&quot; Get active sheet
lo_worksheet = lo_excel-&gt;get_active_worksheet( ).
lo_worksheet-&gt;title = &apos;Styles&apos;.
lo_worksheet-&gt;set_cell( ip_column = &apos;B&apos; ip_row = 2 ip_value = &apos;Hello world&apos; ).
lo_worksheet-&gt;set_cell( ip_column = &apos;C&apos; ip_row = 3 ip_value = &apos;Bold text&apos; ip_style = lv_style_bold_guid ).
lo_worksheet-&gt;set_cell( ip_column = &apos;D&apos; ip_row = 4 ip_value = &apos;Underlined text&apos; ip_style = lv_style_underline_guid ).
lo_worksheet-&gt;set_cell( ip_column = &apos;B&apos; ip_row = 5 ip_value = &apos;Filled text&apos; ip_style = lv_style_filled_guid ).
lo_worksheet-&gt;set_cell( ip_column = &apos;C&apos; ip_row = 6 ip_value = &apos;Borders&apos; ip_style = lv_style_border_guid ).
lo_worksheet-&gt;set_cell( ip_column = &apos;D&apos; ip_row = 7 ip_value = &apos;I&apos;&apos;m not a button :)&apos; ip_style = lv_style_button_guid ).
&quot; Fill the cell and apply one style
lo_worksheet-&gt;set_cell( ip_column = &apos;B&apos; ip_row = 6 ip_value = &apos;Filled text&apos; ip_style = lv_style_filled_guid ).
&quot; Change the style
lo_worksheet-&gt;set_cell_style( ip_column = &apos;B&apos; ip_row = 6 ip_style = lv_style_filled_green_guid ).
PARAMETERS: p_path TYPE string.
create object lo_excel_writer type zcl_excel_writer_2007.
lv_file = lo_excel_writer-&gt;write_file( lo_excel ).
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
&quot; Convert to binary
CALL FUNCTION &apos;SCMS_XSTRING_TO_BINARY&apos;
EXPORTING
buffer = lv_file
IMPORTING
output_length = lv_bytecount
TABLES
binary_tab = lt_file_tab.
cl_gui_frontend_services=&gt;directory_browse( EXPORTING initial_folder = p_path
CHANGING selected_folder = p_path ).
&quot; Save the file
CALL FUNCTION &apos;GUI_DOWNLOAD&apos;
EXPORTING
bin_filesize = lv_bytecount
filename = &apos;C:\Styles.xlsx&apos;
INITIALIZATION.
cl_gui_frontend_services=&gt;get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
p_path = lv_workdir.
START-OF-SELECTION.
IF p_path IS INITIAL.
p_path = lv_workdir.
ENDIF.
cl_gui_frontend_services=&gt;get_file_separator( CHANGING file_separator = lv_file_separator ).
CONCATENATE p_path lv_file_separator lv_default_file_name INTO p_path.
&quot; Creates active sheet
CREATE OBJECT lo_excel.
&quot; Create border object
CREATE OBJECT lo_border_dark.
lo_border_dark-&gt;border_color = zcl_excel_style_color=&gt;c_black.
lo_border_dark-&gt;border_style = zcl_excel_style_border=&gt;c_border_thin.
CREATE OBJECT lo_border_light.
lo_border_light-&gt;border_color = zcl_excel_style_color=&gt;c_gray.
lo_border_light-&gt;border_style = zcl_excel_style_border=&gt;c_border_thin.
&quot; Create a bold / italic style
lo_style_bold = lo_excel-&gt;add_new_style( ).
lo_style_bold-&gt;font-&gt;bold = abap_true.
lo_style_bold-&gt;font-&gt;italic = abap_true.
lo_style_bold-&gt;font-&gt;color = zcl_excel_style_color=&gt;c_red.
lv_style_bold_guid = lo_style_bold-&gt;get_guid( ).
&quot; Create an underline double style
lo_style_underline = lo_excel-&gt;add_new_style( ).
lo_style_underline-&gt;font-&gt;underline = abap_true.
lo_style_underline-&gt;font-&gt;underline_mode = zcl_excel_style_font=&gt;c_underline_double.
lv_style_underline_guid = lo_style_underline-&gt;get_guid( ).
&quot; Create filled style yellow
lo_style_filled = lo_excel-&gt;add_new_style( ).
lo_style_filled-&gt;fill-&gt;filltype = zcl_excel_style_fill=&gt;c_fill_solid.
lo_style_filled-&gt;fill-&gt;fgcolor = zcl_excel_style_color=&gt;c_yellow.
lv_style_filled_guid = lo_style_filled-&gt;get_guid( ).
&quot; Create border with button effects
lo_style_button = lo_excel-&gt;add_new_style( ).
lo_style_button-&gt;borders-&gt;right = lo_border_dark.
lo_style_button-&gt;borders-&gt;down = lo_border_dark.
lo_style_button-&gt;borders-&gt;left = lo_border_light.
lo_style_button-&gt;borders-&gt;top = lo_border_light.
lv_style_button_guid = lo_style_button-&gt;get_guid( ).
&quot;Create style with border
lo_style_border = lo_excel-&gt;add_new_style( ).
lo_style_border-&gt;borders-&gt;allborders = lo_border_dark.
lv_style_border_guid = lo_style_border-&gt;get_guid( ).
&quot; Create filled style green
lo_style_filled = lo_excel-&gt;add_new_style( ).
lo_style_filled-&gt;fill-&gt;filltype = zcl_excel_style_fill=&gt;c_fill_solid.
lo_style_filled-&gt;fill-&gt;fgcolor = zcl_excel_style_color=&gt;c_green.
lv_style_filled_green_guid = lo_style_filled-&gt;get_guid( ).
&quot; Get active sheet
lo_worksheet = lo_excel-&gt;get_active_worksheet( ).
lo_worksheet-&gt;title = &apos;Styles&apos;.
lo_worksheet-&gt;set_cell( ip_column = &apos;B&apos; ip_row = 2 ip_value = &apos;Hello world&apos; ).
lo_worksheet-&gt;set_cell( ip_column = &apos;C&apos; ip_row = 3 ip_value = &apos;Bold text&apos; ip_style = lv_style_bold_guid ).
lo_worksheet-&gt;set_cell( ip_column = &apos;D&apos; ip_row = 4 ip_value = &apos;Underlined text&apos; ip_style = lv_style_underline_guid ).
lo_worksheet-&gt;set_cell( ip_column = &apos;B&apos; ip_row = 5 ip_value = &apos;Filled text&apos; ip_style = lv_style_filled_guid ).
lo_worksheet-&gt;set_cell( ip_column = &apos;C&apos; ip_row = 6 ip_value = &apos;Borders&apos; ip_style = lv_style_border_guid ).
lo_worksheet-&gt;set_cell( ip_column = &apos;D&apos; ip_row = 7 ip_value = &apos;I&apos;&apos;m not a button :)&apos; ip_style = lv_style_button_guid ).
&quot; Fill the cell and apply one style
lo_worksheet-&gt;set_cell( ip_column = &apos;B&apos; ip_row = 6 ip_value = &apos;Filled text&apos; ip_style = lv_style_filled_guid ).
&quot; Change the style
lo_worksheet-&gt;set_cell_style( ip_column = &apos;B&apos; ip_row = 6 ip_style = lv_style_filled_green_guid ).
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
lv_file = lo_excel_writer-&gt;write_file( lo_excel ).
* Convert to binary
lt_file_tab = cl_bcs_convert=&gt;xstring_to_solix( iv_xstring = lv_file ).
lv_bytecount = XSTRLEN( lv_file ).
&quot; Save the file
cl_gui_frontend_services=&gt;gui_download( EXPORTING bin_filesize = lv_bytecount
filename = p_path
filetype = &apos;BIN&apos;
TABLES
data_tab = lt_file_tab.</source>
CHANGING data_tab = lt_file_tab ).</source>
</PROG>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-16"?>
<PROG NAME="ZDEMO_EXCEL3" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="FEMIA" UDAT="20100905" VERN="000019" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20100905" STIME="163630" IDATE="20100905" ITIME="163630" UCCHECK="X">
<PROG NAME="ZDEMO_EXCEL3" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="FEMIA" UDAT="20100924" VERN="000024" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20100924" STIME="153902" IDATE="20100924" ITIME="153902" UCCHECK="X">
<textPool/>
<source>*&amp;---------------------------------------------------------------------*
*&amp; Report ZIFE_TEST_EXCEL
@ -12,7 +12,7 @@
REPORT zdemo_excel3.
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,
column_dimension TYPE REF TO zcl_excel_worksheet_columndime.
@ -20,47 +20,66 @@ DATA: ls_table_settings TYPE zexcel_s_table_settings.
DATA: lv_file TYPE xstring,
lv_bytecount TYPE i,
lt_file_tab TYPE STANDARD TABLE OF solisti1.
lt_file_tab TYPE solix_tab.
&quot; Creates active sheet
CREATE OBJECT lo_excel.
DATA: lv_file_name TYPE string,
lv_file_path TYPE string,
lv_full_path TYPE string,
lv_workdir TYPE string,
lv_file_separator TYPE c.
&quot; Get active sheet
lo_worksheet = lo_excel-&gt;get_active_worksheet( ).
lo_worksheet-&gt;title = &apos;Internal table&apos;.
CONSTANTS: lv_default_file_name TYPE string VALUE &apos;03_iTab.xlsx&apos;.
DATA lt_test TYPE TABLE OF sflight.
SELECT * FROM sflight INTO TABLE lt_test.
PARAMETERS: p_path TYPE string.
ls_table_settings-table_style = zcl_excel_table=&gt;builtinstyle_medium2.
ls_table_settings-show_row_stripes = abap_true.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
lo_worksheet-&gt;bind_table( ip_table = lt_test
is_table_settings = ls_table_settings ).
cl_gui_frontend_services=&gt;directory_browse( EXPORTING initial_folder = p_path
CHANGING selected_folder = p_path ).
lo_worksheet-&gt;freeze_panes( ip_num_rows = 3 ). &quot;freeze column headers when scrolling
INITIALIZATION.
cl_gui_frontend_services=&gt;get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
p_path = lv_workdir.
column_dimension = lo_worksheet-&gt;get_column_dimension( &apos;E&apos; ). &quot;make date field a bit wider
column_dimension-&gt;set_width( 11 ).
START-OF-SELECTION.
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
lv_file = lo_excel_writer-&gt;write_file( lo_excel ).
IF p_path IS INITIAL.
p_path = lv_workdir.
ENDIF.
cl_gui_frontend_services=&gt;get_file_separator( CHANGING file_separator = lv_file_separator ).
CONCATENATE p_path lv_file_separator lv_default_file_name INTO p_path.
&quot; Convert to binary
CALL FUNCTION &apos;SCMS_XSTRING_TO_BINARY&apos;
EXPORTING
buffer = lv_file
IMPORTING
output_length = lv_bytecount
TABLES
binary_tab = lt_file_tab.
&quot; Creates active sheet
CREATE OBJECT lo_excel.
&quot; Save the file
CALL FUNCTION &apos;GUI_DOWNLOAD&apos;
EXPORTING
bin_filesize = lv_bytecount
filename = &apos;C:\iTab.xlsx&apos;
&quot; Get active sheet
lo_worksheet = lo_excel-&gt;get_active_worksheet( ).
lo_worksheet-&gt;title = &apos;Internal table&apos;.
DATA lt_test TYPE TABLE OF sflight.
SELECT * FROM sflight INTO TABLE lt_test.
ls_table_settings-table_style = zcl_excel_table=&gt;builtinstyle_medium2.
ls_table_settings-show_row_stripes = abap_true.
lo_worksheet-&gt;bind_table( ip_table = lt_test
is_table_settings = ls_table_settings ).
lo_worksheet-&gt;freeze_panes( ip_num_rows = 3 ). &quot;freeze column headers when scrolling
column_dimension = lo_worksheet-&gt;get_column_dimension( &apos;E&apos; ). &quot;make date field a bit wider
column_dimension-&gt;set_width( 11 ).
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
lv_file = lo_excel_writer-&gt;write_file( lo_excel ).
* Convert to binary
lt_file_tab = cl_bcs_convert=&gt;xstring_to_solix( iv_xstring = lv_file ).
lv_bytecount = XSTRLEN( lv_file ).
&quot; Save the file
cl_gui_frontend_services=&gt;gui_download( EXPORTING bin_filesize = lv_bytecount
filename = p_path
filetype = &apos;BIN&apos;
TABLES
data_tab = lt_file_tab.</source>
CHANGING data_tab = lt_file_tab ).</source>
</PROG>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-16"?>
<PROG NAME="ZDEMO_EXCEL4" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="VONDRUSKA" UDAT="20100921" VERN="000034" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20100921" STIME="073036" IDATE="20100921" ITIME="073036" UCCHECK="X">
<PROG NAME="ZDEMO_EXCEL4" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="FEMIA" UDAT="20100924" VERN="000040" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20100924" STIME="153902" IDATE="20100924" ITIME="153902" UCCHECK="X">
<textPool>
<language SPRAS="E">
<textElement ID="R" ENTRY="Test for excel" LENGTH="14 "/>
@ -21,50 +21,69 @@ DATA: lo_excel TYPE REF TO zcl_excel,
DATA: lv_file TYPE xstring,
lv_bytecount TYPE i,
lt_file_tab TYPE STANDARD TABLE OF solisti1.
lt_file_tab TYPE solix_tab.
&quot; Creates active sheet
CREATE OBJECT lo_excel.
DATA: lv_file_name TYPE string,
lv_file_path TYPE string,
lv_full_path TYPE string,
lv_workdir TYPE string,
lv_file_separator TYPE c.
&quot; Get active sheet
lo_worksheet = lo_excel-&gt;get_active_worksheet( ).
lo_worksheet-&gt;title = &apos;Sheet1&apos;.
lo_worksheet-&gt;set_cell( ip_column = &apos;B&apos; ip_row = 2 ip_value = &apos;This is the first sheet&apos; ).
CONSTANTS: lv_default_file_name TYPE string VALUE &apos;04_Sheets.xlsx&apos;.
lo_worksheet-&gt;sheet_setup-&gt;set_page_margins( ip_header = &apos;1&apos; ip_footer = &apos;1&apos; ip_unit = &apos;cm&apos; ).
lo_worksheet-&gt;sheet_setup-&gt;black_and_white = &apos;X&apos;.
lo_worksheet-&gt;sheet_setup-&gt;fit_to_page = &apos;X&apos;. &quot; you should turn this on to activate fit_to_height and fit_to_width
lo_worksheet-&gt;sheet_setup-&gt;fit_to_height = 0. &quot; used only if ip_fit_to_page = &apos;X&apos;
lo_worksheet-&gt;sheet_setup-&gt;fit_to_width = 2. &quot; used only if ip_fit_to_page = &apos;X&apos;
lo_worksheet-&gt;sheet_setup-&gt;orientation = zcl_excel_sheet_setup=&gt;c_orientation_landscape.
lo_worksheet-&gt;sheet_setup-&gt;page_order = zcl_excel_sheet_setup=&gt;c_ord_downthenover.
lo_worksheet-&gt;sheet_setup-&gt;paper_size = zcl_excel_sheet_setup=&gt;c_papersize_a4.
lo_worksheet-&gt;sheet_setup-&gt;scale = 80. &quot; used only if ip_fit_to_page = SPACE
PARAMETERS: p_path TYPE string.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
cl_gui_frontend_services=&gt;directory_browse( EXPORTING initial_folder = p_path
CHANGING selected_folder = p_path ).
INITIALIZATION.
cl_gui_frontend_services=&gt;get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
p_path = lv_workdir.
START-OF-SELECTION.
IF p_path IS INITIAL.
p_path = lv_workdir.
ENDIF.
cl_gui_frontend_services=&gt;get_file_separator( CHANGING file_separator = lv_file_separator ).
CONCATENATE p_path lv_file_separator lv_default_file_name INTO p_path.
&quot; Creates active sheet
CREATE OBJECT lo_excel.
&quot; Get active sheet
lo_worksheet = lo_excel-&gt;get_active_worksheet( ).
lo_worksheet-&gt;title = &apos;Sheet1&apos;.
lo_worksheet-&gt;set_cell( ip_column = &apos;B&apos; ip_row = 2 ip_value = &apos;This is the first sheet&apos; ).
lo_worksheet-&gt;sheet_setup-&gt;set_page_margins( ip_header = &apos;1&apos; ip_footer = &apos;1&apos; ip_unit = &apos;cm&apos; ).
lo_worksheet-&gt;sheet_setup-&gt;black_and_white = &apos;X&apos;.
lo_worksheet-&gt;sheet_setup-&gt;fit_to_page = &apos;X&apos;. &quot; you should turn this on to activate fit_to_height and fit_to_width
lo_worksheet-&gt;sheet_setup-&gt;fit_to_height = 0. &quot; used only if ip_fit_to_page = &apos;X&apos;
lo_worksheet-&gt;sheet_setup-&gt;fit_to_width = 2. &quot; used only if ip_fit_to_page = &apos;X&apos;
lo_worksheet-&gt;sheet_setup-&gt;orientation = zcl_excel_sheet_setup=&gt;c_orientation_landscape.
lo_worksheet-&gt;sheet_setup-&gt;page_order = zcl_excel_sheet_setup=&gt;c_ord_downthenover.
lo_worksheet-&gt;sheet_setup-&gt;paper_size = zcl_excel_sheet_setup=&gt;c_papersize_a4.
lo_worksheet-&gt;sheet_setup-&gt;scale = 80. &quot; used only if ip_fit_to_page = SPACE
lo_worksheet = lo_excel-&gt;add_new_worksheet( ).
lo_worksheet-&gt;title = &apos;Sheet2&apos;.
lo_worksheet-&gt;set_cell( ip_column = &apos;B&apos; ip_row = 2 ip_value = &apos;This is the second sheet&apos; ).
lo_worksheet = lo_excel-&gt;add_new_worksheet( ).
lo_worksheet-&gt;title = &apos;Sheet2&apos;.
lo_worksheet-&gt;set_cell( ip_column = &apos;B&apos; ip_row = 2 ip_value = &apos;This is the second sheet&apos; ).
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
lv_file = lo_excel_writer-&gt;write_file( lo_excel ).
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
lv_file = lo_excel_writer-&gt;write_file( lo_excel ).
&quot; Convert to binary
CALL FUNCTION &apos;SCMS_XSTRING_TO_BINARY&apos;
EXPORTING
buffer = lv_file
IMPORTING
output_length = lv_bytecount
TABLES
binary_tab = lt_file_tab.
* Convert to binary
lt_file_tab = cl_bcs_convert=&gt;xstring_to_solix( iv_xstring = lv_file ).
lv_bytecount = XSTRLEN( lv_file ).
&quot; Save the file
CALL FUNCTION &apos;GUI_DOWNLOAD&apos;
EXPORTING
bin_filesize = lv_bytecount
filename = &apos;C:\Sheets.xlsx&apos;
&quot; Save the file
cl_gui_frontend_services=&gt;gui_download( EXPORTING bin_filesize = lv_bytecount
filename = p_path
filetype = &apos;BIN&apos;
TABLES
data_tab = lt_file_tab.</source>
CHANGING data_tab = lt_file_tab ).</source>
</PROG>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-16"?>
<PROG NAME="ZDEMO_EXCEL5" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="FEMIA" UDAT="20100905" VERN="000015" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20100905" STIME="163754" IDATE="20100905" ITIME="163754" UCCHECK="X">
<PROG NAME="ZDEMO_EXCEL5" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="FEMIA" UDAT="20100924" VERN="000020" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20100924" STIME="153902" IDATE="20100924" ITIME="153902" UCCHECK="X">
<textPool>
<language SPRAS="E">
<textElement ID="R" ENTRY="Test for excel" LENGTH="14 "/>
@ -16,51 +16,72 @@
REPORT zdemo_excel5.
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_style_conditional TYPE REF TO zcl_excel_style_conditional,
lv_file TYPE xstring,
lo_style_conditional TYPE REF TO zcl_excel_style_conditional.
DATA: lv_file TYPE xstring,
lv_bytecount TYPE i,
lt_file_tab TYPE STANDARD TABLE OF solisti1.
lt_file_tab TYPE solix_tab.
CREATE OBJECT lo_excel.
DATA: lv_file_name TYPE string,
lv_file_path TYPE string,
lv_full_path TYPE string,
lv_workdir TYPE string,
lv_file_separator TYPE c.
&quot; Get active sheet
lo_worksheet = lo_excel-&gt;get_active_worksheet( ).
CONSTANTS: lv_default_file_name TYPE string VALUE &apos;05_Conditional.xlsx&apos;.
lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset = zcl_excel_style_conditional=&gt;c_iconset_3trafficlights2.
lo_style_conditional-&gt;priority = 1.
lo_style_conditional-&gt;set_range( ip_start_column = &apos;C&apos;
ip_start_row = 4
ip_stop_column = &apos;C&apos;
ip_stop_row = 8 ).
PARAMETERS: p_path TYPE string.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
cl_gui_frontend_services=&gt;directory_browse( EXPORTING initial_folder = p_path
CHANGING selected_folder = p_path ).
INITIALIZATION.
cl_gui_frontend_services=&gt;get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
p_path = lv_workdir.
START-OF-SELECTION.
IF p_path IS INITIAL.
p_path = lv_workdir.
ENDIF.
cl_gui_frontend_services=&gt;get_file_separator( CHANGING file_separator = lv_file_separator ).
CONCATENATE p_path lv_file_separator lv_default_file_name INTO p_path.
CREATE OBJECT lo_excel.
&quot; Get active sheet
lo_worksheet = lo_excel-&gt;get_active_worksheet( ).
lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset = zcl_excel_style_conditional=&gt;c_iconset_3trafficlights2.
lo_style_conditional-&gt;priority = 1.
lo_style_conditional-&gt;set_range( ip_start_column = &apos;C&apos;
ip_start_row = 4
ip_stop_column = &apos;C&apos;
ip_stop_row = 8 ).
lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;C&apos; ip_value = 100 ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;C&apos; ip_value = 1000 ).
lo_worksheet-&gt;set_cell( ip_row = 6 ip_column = &apos;C&apos; ip_value = 150 ).
lo_worksheet-&gt;set_cell( ip_row = 7 ip_column = &apos;C&apos; ip_value = 10 ).
lo_worksheet-&gt;set_cell( ip_row = 8 ip_column = &apos;C&apos; ip_value = 500 ).
lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;C&apos; ip_value = 100 ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;C&apos; ip_value = 1000 ).
lo_worksheet-&gt;set_cell( ip_row = 6 ip_column = &apos;C&apos; ip_value = 150 ).
lo_worksheet-&gt;set_cell( ip_row = 7 ip_column = &apos;C&apos; ip_value = 10 ).
lo_worksheet-&gt;set_cell( ip_row = 8 ip_column = &apos;C&apos; ip_value = 500 ).
create object lo_excel_writer type zcl_excel_writer_2007.
lv_file = lo_excel_writer-&gt;write_file( lo_excel ).
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
lv_file = lo_excel_writer-&gt;write_file( lo_excel ).
&quot;convert to table
CALL FUNCTION &apos;SCMS_XSTRING_TO_BINARY&apos;
EXPORTING
buffer = lv_file
IMPORTING
output_length = lv_bytecount
TABLES
binary_tab = lt_file_tab.
&quot;Save the file
CALL FUNCTION &apos;GUI_DOWNLOAD&apos;
EXPORTING
bin_filesize = lv_bytecount
filename = &apos;C:\CondFormatting.xlsx&apos;
* Convert to binary
lt_file_tab = cl_bcs_convert=&gt;xstring_to_solix( iv_xstring = lv_file ).
lv_bytecount = XSTRLEN( lv_file ).
&quot; Save the file
cl_gui_frontend_services=&gt;gui_download( EXPORTING bin_filesize = lv_bytecount
filename = p_path
filetype = &apos;BIN&apos;
TABLES
data_tab = lt_file_tab.</source>
CHANGING data_tab = lt_file_tab ).</source>
</PROG>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-16"?>
<PROG NAME="ZDEMO_EXCEL6" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="FEMIA" UDAT="20100905" VERN="000021" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20100905" STIME="163817" IDATE="20100905" ITIME="163817" UCCHECK="X">
<PROG NAME="ZDEMO_EXCEL6" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="FEMIA" UDAT="20100924" VERN="000026" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20100924" STIME="153902" IDATE="20100924" ITIME="153902" UCCHECK="X">
<textPool>
<language SPRAS="E">
<textElement ID="R" ENTRY="Test for excel" LENGTH="14 "/>
@ -16,41 +16,62 @@
REPORT zdemo_excel6.
DATA: lo_excel TYPE REF TO zcl_excel,
lo_excel_writer type ref to zif_excel_writer,
lo_worksheet TYPE REF TO zcl_excel_worksheet,
lv_file TYPE xstring,
lo_excel_writer TYPE REF TO zif_excel_writer,
lo_worksheet TYPE REF TO zcl_excel_worksheet.
DATA: lv_file TYPE xstring,
lv_bytecount TYPE i,
lt_file_tab TYPE STANDARD TABLE OF solisti1.
lt_file_tab TYPE solix_tab.
CREATE OBJECT lo_excel.
DATA: lv_file_name TYPE string,
lv_file_path TYPE string,
lv_full_path TYPE string,
lv_workdir TYPE string,
lv_file_separator TYPE c.
&quot; Get active sheet
lo_worksheet = lo_excel-&gt;get_active_worksheet( ).
CONSTANTS: lv_default_file_name TYPE string VALUE &apos;06_Formulas.xlsx&apos;.
lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;C&apos; ip_value = 100 ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;C&apos; ip_value = 1000 ).
lo_worksheet-&gt;set_cell( ip_row = 6 ip_column = &apos;C&apos; ip_value = 150 ).
lo_worksheet-&gt;set_cell( ip_row = 7 ip_column = &apos;C&apos; ip_value = -10 ).
lo_worksheet-&gt;set_cell( ip_row = 8 ip_column = &apos;C&apos; ip_value = 500 ).
lo_worksheet-&gt;set_cell( ip_row = 9 ip_column = &apos;C&apos; ip_formula = &apos;SUM(C4:C8)&apos; ).
PARAMETERS: p_path TYPE string.
create object lo_excel_writer type zcl_excel_writer_2007.
lv_file = lo_excel_writer-&gt;write_file( lo_excel ).
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
&quot;convert to table
CALL FUNCTION &apos;SCMS_XSTRING_TO_BINARY&apos;
EXPORTING
buffer = lv_file
IMPORTING
output_length = lv_bytecount
TABLES
binary_tab = lt_file_tab.
&quot;Save the file
CALL FUNCTION &apos;GUI_DOWNLOAD&apos;
EXPORTING
bin_filesize = lv_bytecount
filename = &apos;C:\Formula.xlsx&apos;
filetype = &apos;BIN&apos;
TABLES
data_tab = lt_file_tab.</source>
cl_gui_frontend_services=&gt;directory_browse( EXPORTING initial_folder = p_path
CHANGING selected_folder = p_path ).
INITIALIZATION.
cl_gui_frontend_services=&gt;get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
p_path = lv_workdir.
START-OF-SELECTION.
IF p_path IS INITIAL.
p_path = lv_workdir.
ENDIF.
cl_gui_frontend_services=&gt;get_file_separator( CHANGING file_separator = lv_file_separator ).
CONCATENATE p_path lv_file_separator lv_default_file_name INTO p_path.
CREATE OBJECT lo_excel.
&quot; Get active sheet
lo_worksheet = lo_excel-&gt;get_active_worksheet( ).
lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;C&apos; ip_value = 100 ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;C&apos; ip_value = 1000 ).
lo_worksheet-&gt;set_cell( ip_row = 6 ip_column = &apos;C&apos; ip_value = 150 ).
lo_worksheet-&gt;set_cell( ip_row = 7 ip_column = &apos;C&apos; ip_value = -10 ).
lo_worksheet-&gt;set_cell( ip_row = 8 ip_column = &apos;C&apos; ip_value = 500 ).
lo_worksheet-&gt;set_cell( ip_row = 9 ip_column = &apos;C&apos; ip_formula = &apos;SUM(C4:C8)&apos; ).
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
lv_file = lo_excel_writer-&gt;write_file( lo_excel ).
* Convert to binary
lt_file_tab = cl_bcs_convert=&gt;xstring_to_solix( iv_xstring = lv_file ).
lv_bytecount = XSTRLEN( lv_file ).
&quot; Save the file
cl_gui_frontend_services=&gt;gui_download( EXPORTING bin_filesize = lv_bytecount
filename = p_path
filetype = &apos;BIN&apos;
CHANGING data_tab = lt_file_tab ).</source>
</PROG>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-16"?>
<PROG NAME="ZDEMO_EXCEL7" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="FEMIA" UDAT="20100905" VERN="000017" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20100905" STIME="163844" IDATE="20100905" ITIME="163844" UCCHECK="X">
<PROG NAME="ZDEMO_EXCEL7" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="FEMIA" UDAT="20100924" VERN="000022" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20100924" STIME="153902" IDATE="20100924" ITIME="153902" UCCHECK="X">
<textPool>
<language SPRAS="E">
<textElement ID="R" ENTRY="Test for excel" LENGTH="14 "/>
@ -16,306 +16,327 @@
REPORT zdemo_excel7.
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_style_conditional TYPE REF TO zcl_excel_style_conditional,
lv_file TYPE xstring,
lo_style_conditional TYPE REF TO zcl_excel_style_conditional.
DATA: lv_file TYPE xstring,
lv_bytecount TYPE i,
lt_file_tab TYPE STANDARD TABLE OF solisti1.
lt_file_tab TYPE solix_tab.
CREATE OBJECT lo_excel.
DATA: lv_file_name TYPE string,
lv_file_path TYPE string,
lv_full_path TYPE string,
lv_workdir TYPE string,
lv_file_separator TYPE c.
&quot; Get active sheet
lo_worksheet = lo_excel-&gt;get_active_worksheet( ).
CONSTANTS: lv_default_file_name TYPE string VALUE &apos;07_ConditionalAll.xlsx&apos;.
lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset = zcl_excel_style_conditional=&gt;c_iconset_3arrows.
lo_style_conditional-&gt;priority = 1.
lo_style_conditional-&gt;set_range( ip_start_column = &apos;B&apos;
ip_start_row = 5
ip_stop_column = &apos;B&apos;
ip_stop_row = 9 ).
PARAMETERS: p_path TYPE string.
lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;B&apos; ip_value = &apos;C_ICONSET_3ARROWS&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;B&apos; ip_value = 10 ).
lo_worksheet-&gt;set_cell( ip_row = 6 ip_column = &apos;B&apos; ip_value = 20 ).
lo_worksheet-&gt;set_cell( ip_row = 7 ip_column = &apos;B&apos; ip_value = 30 ).
lo_worksheet-&gt;set_cell( ip_row = 8 ip_column = &apos;B&apos; ip_value = 40 ).
lo_worksheet-&gt;set_cell( ip_row = 9 ip_column = &apos;B&apos; ip_value = 50 ).
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset = zcl_excel_style_conditional=&gt;c_iconset_3arrowsgray.
lo_style_conditional-&gt;priority = 1.
lo_style_conditional-&gt;set_range( ip_start_column = &apos;C&apos;
ip_start_row = 5
ip_stop_column = &apos;C&apos;
ip_stop_row = 9 ).
cl_gui_frontend_services=&gt;directory_browse( EXPORTING initial_folder = p_path
CHANGING selected_folder = p_path ).
lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;C&apos; ip_value = &apos;C_ICONSET_3ARROWSGRAY&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;C&apos; ip_value = 10 ).
lo_worksheet-&gt;set_cell( ip_row = 6 ip_column = &apos;C&apos; ip_value = 20 ).
lo_worksheet-&gt;set_cell( ip_row = 7 ip_column = &apos;C&apos; ip_value = 30 ).
lo_worksheet-&gt;set_cell( ip_row = 8 ip_column = &apos;C&apos; ip_value = 40 ).
lo_worksheet-&gt;set_cell( ip_row = 9 ip_column = &apos;C&apos; ip_value = 50 ).
lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset = zcl_excel_style_conditional=&gt;c_iconset_3flags.
lo_style_conditional-&gt;priority = 1.
lo_style_conditional-&gt;set_range( ip_start_column = &apos;D&apos;
ip_start_row = 5
ip_stop_column = &apos;D&apos;
ip_stop_row = 9 ).
INITIALIZATION.
cl_gui_frontend_services=&gt;get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
p_path = lv_workdir.
lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;D&apos; ip_value = &apos;C_ICONSET_3FLAGS&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;D&apos; ip_value = 10 ).
lo_worksheet-&gt;set_cell( ip_row = 6 ip_column = &apos;D&apos; ip_value = 20 ).
lo_worksheet-&gt;set_cell( ip_row = 7 ip_column = &apos;D&apos; ip_value = 30 ).
lo_worksheet-&gt;set_cell( ip_row = 8 ip_column = &apos;D&apos; ip_value = 40 ).
lo_worksheet-&gt;set_cell( ip_row = 9 ip_column = &apos;D&apos; ip_value = 50 ).
START-OF-SELECTION.
lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset = zcl_excel_style_conditional=&gt;c_iconset_3trafficlights.
lo_style_conditional-&gt;priority = 1.
lo_style_conditional-&gt;set_range( ip_start_column = &apos;E&apos;
ip_start_row = 5
ip_stop_column = &apos;E&apos;
ip_stop_row = 9 ).
IF p_path IS INITIAL.
p_path = lv_workdir.
ENDIF.
cl_gui_frontend_services=&gt;get_file_separator( CHANGING file_separator = lv_file_separator ).
CONCATENATE p_path lv_file_separator lv_default_file_name INTO p_path.
lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;E&apos; ip_value = &apos;C_ICONSET_3TRAFFICLIGHTS&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;E&apos; ip_value = 10 ).
lo_worksheet-&gt;set_cell( ip_row = 6 ip_column = &apos;E&apos; ip_value = 20 ).
lo_worksheet-&gt;set_cell( ip_row = 7 ip_column = &apos;E&apos; ip_value = 30 ).
lo_worksheet-&gt;set_cell( ip_row = 8 ip_column = &apos;E&apos; ip_value = 40 ).
lo_worksheet-&gt;set_cell( ip_row = 9 ip_column = &apos;E&apos; ip_value = 50 ).
CREATE OBJECT lo_excel.
lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset = zcl_excel_style_conditional=&gt;c_iconset_3trafficlights2.
lo_style_conditional-&gt;priority = 1.
lo_style_conditional-&gt;set_range( ip_start_column = &apos;F&apos;
ip_start_row = 5
ip_stop_column = &apos;F&apos;
ip_stop_row = 9 ).
&quot; Get active sheet
lo_worksheet = lo_excel-&gt;get_active_worksheet( ).
lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;F&apos; ip_value = &apos;C_ICONSET_3TRAFFICLIGHTS2&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;F&apos; ip_value = 10 ).
lo_worksheet-&gt;set_cell( ip_row = 6 ip_column = &apos;F&apos; ip_value = 20 ).
lo_worksheet-&gt;set_cell( ip_row = 7 ip_column = &apos;F&apos; ip_value = 30 ).
lo_worksheet-&gt;set_cell( ip_row = 8 ip_column = &apos;F&apos; ip_value = 40 ).
lo_worksheet-&gt;set_cell( ip_row = 9 ip_column = &apos;F&apos; ip_value = 50 ).
lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset = zcl_excel_style_conditional=&gt;c_iconset_3arrows.
lo_style_conditional-&gt;priority = 1.
lo_style_conditional-&gt;set_range( ip_start_column = &apos;B&apos;
ip_start_row = 5
ip_stop_column = &apos;B&apos;
ip_stop_row = 9 ).
lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset = zcl_excel_style_conditional=&gt;c_iconset_3signs.
lo_style_conditional-&gt;priority = 1.
lo_style_conditional-&gt;set_range( ip_start_column = &apos;G&apos;
ip_start_row = 5
ip_stop_column = &apos;G&apos;
ip_stop_row = 9 ).
lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;B&apos; ip_value = &apos;C_ICONSET_3ARROWS&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;B&apos; ip_value = 10 ).
lo_worksheet-&gt;set_cell( ip_row = 6 ip_column = &apos;B&apos; ip_value = 20 ).
lo_worksheet-&gt;set_cell( ip_row = 7 ip_column = &apos;B&apos; ip_value = 30 ).
lo_worksheet-&gt;set_cell( ip_row = 8 ip_column = &apos;B&apos; ip_value = 40 ).
lo_worksheet-&gt;set_cell( ip_row = 9 ip_column = &apos;B&apos; ip_value = 50 ).
lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;G&apos; ip_value = &apos;C_ICONSET_3SIGNS&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;G&apos; ip_value = 10 ).
lo_worksheet-&gt;set_cell( ip_row = 6 ip_column = &apos;G&apos; ip_value = 20 ).
lo_worksheet-&gt;set_cell( ip_row = 7 ip_column = &apos;G&apos; ip_value = 30 ).
lo_worksheet-&gt;set_cell( ip_row = 8 ip_column = &apos;G&apos; ip_value = 40 ).
lo_worksheet-&gt;set_cell( ip_row = 9 ip_column = &apos;G&apos; ip_value = 50 ).
lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset = zcl_excel_style_conditional=&gt;c_iconset_3arrowsgray.
lo_style_conditional-&gt;priority = 1.
lo_style_conditional-&gt;set_range( ip_start_column = &apos;C&apos;
ip_start_row = 5
ip_stop_column = &apos;C&apos;
ip_stop_row = 9 ).
lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset = zcl_excel_style_conditional=&gt;c_iconset_3symbols.
lo_style_conditional-&gt;priority = 1.
lo_style_conditional-&gt;set_range( ip_start_column = &apos;H&apos;
ip_start_row = 5
ip_stop_column = &apos;H&apos;
ip_stop_row = 9 ).
lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;C&apos; ip_value = &apos;C_ICONSET_3ARROWSGRAY&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;C&apos; ip_value = 10 ).
lo_worksheet-&gt;set_cell( ip_row = 6 ip_column = &apos;C&apos; ip_value = 20 ).
lo_worksheet-&gt;set_cell( ip_row = 7 ip_column = &apos;C&apos; ip_value = 30 ).
lo_worksheet-&gt;set_cell( ip_row = 8 ip_column = &apos;C&apos; ip_value = 40 ).
lo_worksheet-&gt;set_cell( ip_row = 9 ip_column = &apos;C&apos; ip_value = 50 ).
lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset = zcl_excel_style_conditional=&gt;c_iconset_3flags.
lo_style_conditional-&gt;priority = 1.
lo_style_conditional-&gt;set_range( ip_start_column = &apos;D&apos;
ip_start_row = 5
ip_stop_column = &apos;D&apos;
ip_stop_row = 9 ).
lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;H&apos; ip_value = &apos;C_ICONSET_3SYMBOLS&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;H&apos; ip_value = 10 ).
lo_worksheet-&gt;set_cell( ip_row = 6 ip_column = &apos;H&apos; ip_value = 20 ).
lo_worksheet-&gt;set_cell( ip_row = 7 ip_column = &apos;H&apos; ip_value = 30 ).
lo_worksheet-&gt;set_cell( ip_row = 8 ip_column = &apos;H&apos; ip_value = 40 ).
lo_worksheet-&gt;set_cell( ip_row = 9 ip_column = &apos;H&apos; ip_value = 50 ).
lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;D&apos; ip_value = &apos;C_ICONSET_3FLAGS&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;D&apos; ip_value = 10 ).
lo_worksheet-&gt;set_cell( ip_row = 6 ip_column = &apos;D&apos; ip_value = 20 ).
lo_worksheet-&gt;set_cell( ip_row = 7 ip_column = &apos;D&apos; ip_value = 30 ).
lo_worksheet-&gt;set_cell( ip_row = 8 ip_column = &apos;D&apos; ip_value = 40 ).
lo_worksheet-&gt;set_cell( ip_row = 9 ip_column = &apos;D&apos; ip_value = 50 ).
lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset = zcl_excel_style_conditional=&gt;c_iconset_3symbols2.
lo_style_conditional-&gt;priority = 1.
lo_style_conditional-&gt;set_range( ip_start_column = &apos;I&apos;
ip_start_row = 5
ip_stop_column = &apos;I&apos;
ip_stop_row = 9 ).
lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset = zcl_excel_style_conditional=&gt;c_iconset_3trafficlights.
lo_style_conditional-&gt;priority = 1.
lo_style_conditional-&gt;set_range( ip_start_column = &apos;E&apos;
ip_start_row = 5
ip_stop_column = &apos;E&apos;
ip_stop_row = 9 ).
lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;I&apos; ip_value = &apos;C_ICONSET_3SYMBOLS2&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;I&apos; ip_value = 10 ).
lo_worksheet-&gt;set_cell( ip_row = 6 ip_column = &apos;I&apos; ip_value = 20 ).
lo_worksheet-&gt;set_cell( ip_row = 7 ip_column = &apos;I&apos; ip_value = 30 ).
lo_worksheet-&gt;set_cell( ip_row = 8 ip_column = &apos;I&apos; ip_value = 40 ).
lo_worksheet-&gt;set_cell( ip_row = 9 ip_column = &apos;I&apos; ip_value = 50 ).
lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;E&apos; ip_value = &apos;C_ICONSET_3TRAFFICLIGHTS&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;E&apos; ip_value = 10 ).
lo_worksheet-&gt;set_cell( ip_row = 6 ip_column = &apos;E&apos; ip_value = 20 ).
lo_worksheet-&gt;set_cell( ip_row = 7 ip_column = &apos;E&apos; ip_value = 30 ).
lo_worksheet-&gt;set_cell( ip_row = 8 ip_column = &apos;E&apos; ip_value = 40 ).
lo_worksheet-&gt;set_cell( ip_row = 9 ip_column = &apos;E&apos; ip_value = 50 ).
lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset = zcl_excel_style_conditional=&gt;c_iconset_4arrows.
lo_style_conditional-&gt;priority = 1.
lo_style_conditional-&gt;set_range( ip_start_column = &apos;B&apos;
ip_start_row = 12
ip_stop_column = &apos;B&apos;
ip_stop_row = 16 ).
lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset = zcl_excel_style_conditional=&gt;c_iconset_3trafficlights2.
lo_style_conditional-&gt;priority = 1.
lo_style_conditional-&gt;set_range( ip_start_column = &apos;F&apos;
ip_start_row = 5
ip_stop_column = &apos;F&apos;
ip_stop_row = 9 ).
lo_worksheet-&gt;set_cell( ip_row = 11 ip_column = &apos;B&apos; ip_value = &apos;C_ICONSET_4ARROWS&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 12 ip_column = &apos;B&apos; ip_value = 10 ).
lo_worksheet-&gt;set_cell( ip_row = 13 ip_column = &apos;B&apos; ip_value = 20 ).
lo_worksheet-&gt;set_cell( ip_row = 14 ip_column = &apos;B&apos; ip_value = 30 ).
lo_worksheet-&gt;set_cell( ip_row = 15 ip_column = &apos;B&apos; ip_value = 40 ).
lo_worksheet-&gt;set_cell( ip_row = 16 ip_column = &apos;B&apos; ip_value = 50 ).
lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;F&apos; ip_value = &apos;C_ICONSET_3TRAFFICLIGHTS2&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;F&apos; ip_value = 10 ).
lo_worksheet-&gt;set_cell( ip_row = 6 ip_column = &apos;F&apos; ip_value = 20 ).
lo_worksheet-&gt;set_cell( ip_row = 7 ip_column = &apos;F&apos; ip_value = 30 ).
lo_worksheet-&gt;set_cell( ip_row = 8 ip_column = &apos;F&apos; ip_value = 40 ).
lo_worksheet-&gt;set_cell( ip_row = 9 ip_column = &apos;F&apos; ip_value = 50 ).
lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset = zcl_excel_style_conditional=&gt;c_iconset_4arrowsgray.
lo_style_conditional-&gt;priority = 1.
lo_style_conditional-&gt;set_range( ip_start_column = &apos;C&apos;
ip_start_row = 12
ip_stop_column = &apos;C&apos;
ip_stop_row = 16 ).
lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset = zcl_excel_style_conditional=&gt;c_iconset_3signs.
lo_style_conditional-&gt;priority = 1.
lo_style_conditional-&gt;set_range( ip_start_column = &apos;G&apos;
ip_start_row = 5
ip_stop_column = &apos;G&apos;
ip_stop_row = 9 ).
lo_worksheet-&gt;set_cell( ip_row = 11 ip_column = &apos;C&apos; ip_value = &apos;C_ICONSET_4ARROWSGRAY&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 12 ip_column = &apos;C&apos; ip_value = 10 ).
lo_worksheet-&gt;set_cell( ip_row = 13 ip_column = &apos;C&apos; ip_value = 20 ).
lo_worksheet-&gt;set_cell( ip_row = 14 ip_column = &apos;C&apos; ip_value = 30 ).
lo_worksheet-&gt;set_cell( ip_row = 15 ip_column = &apos;C&apos; ip_value = 40 ).
lo_worksheet-&gt;set_cell( ip_row = 16 ip_column = &apos;C&apos; ip_value = 50 ).
lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;G&apos; ip_value = &apos;C_ICONSET_3SIGNS&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;G&apos; ip_value = 10 ).
lo_worksheet-&gt;set_cell( ip_row = 6 ip_column = &apos;G&apos; ip_value = 20 ).
lo_worksheet-&gt;set_cell( ip_row = 7 ip_column = &apos;G&apos; ip_value = 30 ).
lo_worksheet-&gt;set_cell( ip_row = 8 ip_column = &apos;G&apos; ip_value = 40 ).
lo_worksheet-&gt;set_cell( ip_row = 9 ip_column = &apos;G&apos; ip_value = 50 ).
lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset = zcl_excel_style_conditional=&gt;c_iconset_4redtoblack.
lo_style_conditional-&gt;priority = 1.
lo_style_conditional-&gt;set_range( ip_start_column = &apos;D&apos;
ip_start_row = 12
ip_stop_column = &apos;D&apos;
ip_stop_row = 16 ).
lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset = zcl_excel_style_conditional=&gt;c_iconset_3symbols.
lo_style_conditional-&gt;priority = 1.
lo_style_conditional-&gt;set_range( ip_start_column = &apos;H&apos;
ip_start_row = 5
ip_stop_column = &apos;H&apos;
ip_stop_row = 9 ).
lo_worksheet-&gt;set_cell( ip_row = 11 ip_column = &apos;D&apos; ip_value = &apos;C_ICONSET_4REDTOBLACK&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 12 ip_column = &apos;D&apos; ip_value = 10 ).
lo_worksheet-&gt;set_cell( ip_row = 13 ip_column = &apos;D&apos; ip_value = 20 ).
lo_worksheet-&gt;set_cell( ip_row = 14 ip_column = &apos;D&apos; ip_value = 30 ).
lo_worksheet-&gt;set_cell( ip_row = 15 ip_column = &apos;D&apos; ip_value = 40 ).
lo_worksheet-&gt;set_cell( ip_row = 16 ip_column = &apos;D&apos; ip_value = 50 ).
lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;H&apos; ip_value = &apos;C_ICONSET_3SYMBOLS&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;H&apos; ip_value = 10 ).
lo_worksheet-&gt;set_cell( ip_row = 6 ip_column = &apos;H&apos; ip_value = 20 ).
lo_worksheet-&gt;set_cell( ip_row = 7 ip_column = &apos;H&apos; ip_value = 30 ).
lo_worksheet-&gt;set_cell( ip_row = 8 ip_column = &apos;H&apos; ip_value = 40 ).
lo_worksheet-&gt;set_cell( ip_row = 9 ip_column = &apos;H&apos; ip_value = 50 ).
lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset = zcl_excel_style_conditional=&gt;c_iconset_4rating.
lo_style_conditional-&gt;priority = 1.
lo_style_conditional-&gt;set_range( ip_start_column = &apos;E&apos;
ip_start_row = 12
ip_stop_column = &apos;E&apos;
ip_stop_row = 16 ).
lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset = zcl_excel_style_conditional=&gt;c_iconset_3symbols2.
lo_style_conditional-&gt;priority = 1.
lo_style_conditional-&gt;set_range( ip_start_column = &apos;I&apos;
ip_start_row = 5
ip_stop_column = &apos;I&apos;
ip_stop_row = 9 ).
lo_worksheet-&gt;set_cell( ip_row = 11 ip_column = &apos;E&apos; ip_value = &apos;C_ICONSET_4RATING&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 12 ip_column = &apos;E&apos; ip_value = 10 ).
lo_worksheet-&gt;set_cell( ip_row = 13 ip_column = &apos;E&apos; ip_value = 20 ).
lo_worksheet-&gt;set_cell( ip_row = 14 ip_column = &apos;E&apos; ip_value = 30 ).
lo_worksheet-&gt;set_cell( ip_row = 15 ip_column = &apos;E&apos; ip_value = 40 ).
lo_worksheet-&gt;set_cell( ip_row = 16 ip_column = &apos;E&apos; ip_value = 50 ).
lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;I&apos; ip_value = &apos;C_ICONSET_3SYMBOLS2&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;I&apos; ip_value = 10 ).
lo_worksheet-&gt;set_cell( ip_row = 6 ip_column = &apos;I&apos; ip_value = 20 ).
lo_worksheet-&gt;set_cell( ip_row = 7 ip_column = &apos;I&apos; ip_value = 30 ).
lo_worksheet-&gt;set_cell( ip_row = 8 ip_column = &apos;I&apos; ip_value = 40 ).
lo_worksheet-&gt;set_cell( ip_row = 9 ip_column = &apos;I&apos; ip_value = 50 ).
lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset = zcl_excel_style_conditional=&gt;c_iconset_4trafficlights.
lo_style_conditional-&gt;priority = 1.
lo_style_conditional-&gt;set_range( ip_start_column = &apos;F&apos;
ip_start_row = 12
ip_stop_column = &apos;F&apos;
ip_stop_row = 16 ).
lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset = zcl_excel_style_conditional=&gt;c_iconset_4arrows.
lo_style_conditional-&gt;priority = 1.
lo_style_conditional-&gt;set_range( ip_start_column = &apos;B&apos;
ip_start_row = 12
ip_stop_column = &apos;B&apos;
ip_stop_row = 16 ).
lo_worksheet-&gt;set_cell( ip_row = 11 ip_column = &apos;F&apos; ip_value = &apos;C_ICONSET_4TRAFFICLIGHTS&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 12 ip_column = &apos;F&apos; ip_value = 10 ).
lo_worksheet-&gt;set_cell( ip_row = 13 ip_column = &apos;F&apos; ip_value = 20 ).
lo_worksheet-&gt;set_cell( ip_row = 14 ip_column = &apos;F&apos; ip_value = 30 ).
lo_worksheet-&gt;set_cell( ip_row = 15 ip_column = &apos;F&apos; ip_value = 40 ).
lo_worksheet-&gt;set_cell( ip_row = 16 ip_column = &apos;F&apos; ip_value = 50 ).
lo_worksheet-&gt;set_cell( ip_row = 11 ip_column = &apos;B&apos; ip_value = &apos;C_ICONSET_4ARROWS&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 12 ip_column = &apos;B&apos; ip_value = 10 ).
lo_worksheet-&gt;set_cell( ip_row = 13 ip_column = &apos;B&apos; ip_value = 20 ).
lo_worksheet-&gt;set_cell( ip_row = 14 ip_column = &apos;B&apos; ip_value = 30 ).
lo_worksheet-&gt;set_cell( ip_row = 15 ip_column = &apos;B&apos; ip_value = 40 ).
lo_worksheet-&gt;set_cell( ip_row = 16 ip_column = &apos;B&apos; ip_value = 50 ).
lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset = zcl_excel_style_conditional=&gt;c_iconset_5arrows.
lo_style_conditional-&gt;priority = 1.
lo_style_conditional-&gt;set_range( ip_start_column = &apos;B&apos;
ip_start_row = 19
ip_stop_column = &apos;B&apos;
ip_stop_row = 23 ).
lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset = zcl_excel_style_conditional=&gt;c_iconset_4arrowsgray.
lo_style_conditional-&gt;priority = 1.
lo_style_conditional-&gt;set_range( ip_start_column = &apos;C&apos;
ip_start_row = 12
ip_stop_column = &apos;C&apos;
ip_stop_row = 16 ).
lo_worksheet-&gt;set_cell( ip_row = 18 ip_column = &apos;B&apos; ip_value = &apos;C_ICONSET_5ARROWS&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 19 ip_column = &apos;B&apos; ip_value = 10 ).
lo_worksheet-&gt;set_cell( ip_row = 20 ip_column = &apos;B&apos; ip_value = 20 ).
lo_worksheet-&gt;set_cell( ip_row = 21 ip_column = &apos;B&apos; ip_value = 30 ).
lo_worksheet-&gt;set_cell( ip_row = 22 ip_column = &apos;B&apos; ip_value = 40 ).
lo_worksheet-&gt;set_cell( ip_row = 23 ip_column = &apos;B&apos; ip_value = 50 ).
lo_worksheet-&gt;set_cell( ip_row = 11 ip_column = &apos;C&apos; ip_value = &apos;C_ICONSET_4ARROWSGRAY&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 12 ip_column = &apos;C&apos; ip_value = 10 ).
lo_worksheet-&gt;set_cell( ip_row = 13 ip_column = &apos;C&apos; ip_value = 20 ).
lo_worksheet-&gt;set_cell( ip_row = 14 ip_column = &apos;C&apos; ip_value = 30 ).
lo_worksheet-&gt;set_cell( ip_row = 15 ip_column = &apos;C&apos; ip_value = 40 ).
lo_worksheet-&gt;set_cell( ip_row = 16 ip_column = &apos;C&apos; ip_value = 50 ).
lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset = zcl_excel_style_conditional=&gt;c_iconset_5arrowsgray.
lo_style_conditional-&gt;priority = 1.
lo_style_conditional-&gt;set_range( ip_start_column = &apos;C&apos;
ip_start_row = 19
ip_stop_column = &apos;C&apos;
ip_stop_row = 23 ).
lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset = zcl_excel_style_conditional=&gt;c_iconset_4redtoblack.
lo_style_conditional-&gt;priority = 1.
lo_style_conditional-&gt;set_range( ip_start_column = &apos;D&apos;
ip_start_row = 12
ip_stop_column = &apos;D&apos;
ip_stop_row = 16 ).
lo_worksheet-&gt;set_cell( ip_row = 18 ip_column = &apos;C&apos; ip_value = &apos;C_ICONSET_5ARROWSGRAY&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 19 ip_column = &apos;C&apos; ip_value = 10 ).
lo_worksheet-&gt;set_cell( ip_row = 20 ip_column = &apos;C&apos; ip_value = 20 ).
lo_worksheet-&gt;set_cell( ip_row = 21 ip_column = &apos;C&apos; ip_value = 30 ).
lo_worksheet-&gt;set_cell( ip_row = 22 ip_column = &apos;C&apos; ip_value = 40 ).
lo_worksheet-&gt;set_cell( ip_row = 23 ip_column = &apos;C&apos; ip_value = 50 ).
lo_worksheet-&gt;set_cell( ip_row = 11 ip_column = &apos;D&apos; ip_value = &apos;C_ICONSET_4REDTOBLACK&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 12 ip_column = &apos;D&apos; ip_value = 10 ).
lo_worksheet-&gt;set_cell( ip_row = 13 ip_column = &apos;D&apos; ip_value = 20 ).
lo_worksheet-&gt;set_cell( ip_row = 14 ip_column = &apos;D&apos; ip_value = 30 ).
lo_worksheet-&gt;set_cell( ip_row = 15 ip_column = &apos;D&apos; ip_value = 40 ).
lo_worksheet-&gt;set_cell( ip_row = 16 ip_column = &apos;D&apos; ip_value = 50 ).
lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset = zcl_excel_style_conditional=&gt;c_iconset_5rating.
lo_style_conditional-&gt;priority = 1.
lo_style_conditional-&gt;set_range( ip_start_column = &apos;D&apos;
ip_start_row = 19
ip_stop_column = &apos;D&apos;
ip_stop_row = 23 ).
lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset = zcl_excel_style_conditional=&gt;c_iconset_4rating.
lo_style_conditional-&gt;priority = 1.
lo_style_conditional-&gt;set_range( ip_start_column = &apos;E&apos;
ip_start_row = 12
ip_stop_column = &apos;E&apos;
ip_stop_row = 16 ).
lo_worksheet-&gt;set_cell( ip_row = 18 ip_column = &apos;D&apos; ip_value = &apos;C_ICONSET_5RATING&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 19 ip_column = &apos;D&apos; ip_value = 10 ).
lo_worksheet-&gt;set_cell( ip_row = 20 ip_column = &apos;D&apos; ip_value = 20 ).
lo_worksheet-&gt;set_cell( ip_row = 21 ip_column = &apos;D&apos; ip_value = 30 ).
lo_worksheet-&gt;set_cell( ip_row = 22 ip_column = &apos;D&apos; ip_value = 40 ).
lo_worksheet-&gt;set_cell( ip_row = 23 ip_column = &apos;D&apos; ip_value = 50 ).
lo_worksheet-&gt;set_cell( ip_row = 11 ip_column = &apos;E&apos; ip_value = &apos;C_ICONSET_4RATING&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 12 ip_column = &apos;E&apos; ip_value = 10 ).
lo_worksheet-&gt;set_cell( ip_row = 13 ip_column = &apos;E&apos; ip_value = 20 ).
lo_worksheet-&gt;set_cell( ip_row = 14 ip_column = &apos;E&apos; ip_value = 30 ).
lo_worksheet-&gt;set_cell( ip_row = 15 ip_column = &apos;E&apos; ip_value = 40 ).
lo_worksheet-&gt;set_cell( ip_row = 16 ip_column = &apos;E&apos; ip_value = 50 ).
lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset = zcl_excel_style_conditional=&gt;c_iconset_5quarters.
lo_style_conditional-&gt;priority = 1.
lo_style_conditional-&gt;set_range( ip_start_column = &apos;E&apos;
ip_start_row = 19
ip_stop_column = &apos;E&apos;
ip_stop_row = 23 ).
lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset = zcl_excel_style_conditional=&gt;c_iconset_4trafficlights.
lo_style_conditional-&gt;priority = 1.
lo_style_conditional-&gt;set_range( ip_start_column = &apos;F&apos;
ip_start_row = 12
ip_stop_column = &apos;F&apos;
ip_stop_row = 16 ).
lo_worksheet-&gt;set_cell( ip_row = 18 ip_column = &apos;E&apos; ip_value = &apos;C_ICONSET_5QUARTERS&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 19 ip_column = &apos;E&apos; ip_value = 10 ).
lo_worksheet-&gt;set_cell( ip_row = 20 ip_column = &apos;E&apos; ip_value = 20 ).
lo_worksheet-&gt;set_cell( ip_row = 21 ip_column = &apos;E&apos; ip_value = 30 ).
lo_worksheet-&gt;set_cell( ip_row = 22 ip_column = &apos;E&apos; ip_value = 40 ).
lo_worksheet-&gt;set_cell( ip_row = 23 ip_column = &apos;E&apos; ip_value = 50 ).
lo_worksheet-&gt;set_cell( ip_row = 11 ip_column = &apos;F&apos; ip_value = &apos;C_ICONSET_4TRAFFICLIGHTS&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 12 ip_column = &apos;F&apos; ip_value = 10 ).
lo_worksheet-&gt;set_cell( ip_row = 13 ip_column = &apos;F&apos; ip_value = 20 ).
lo_worksheet-&gt;set_cell( ip_row = 14 ip_column = &apos;F&apos; ip_value = 30 ).
lo_worksheet-&gt;set_cell( ip_row = 15 ip_column = &apos;F&apos; ip_value = 40 ).
lo_worksheet-&gt;set_cell( ip_row = 16 ip_column = &apos;F&apos; ip_value = 50 ).
create object lo_excel_writer type zcl_excel_writer_2007.
lv_file = lo_excel_writer-&gt;write_file( lo_excel ).
lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset = zcl_excel_style_conditional=&gt;c_iconset_5arrows.
lo_style_conditional-&gt;priority = 1.
lo_style_conditional-&gt;set_range( ip_start_column = &apos;B&apos;
ip_start_row = 19
ip_stop_column = &apos;B&apos;
ip_stop_row = 23 ).
&quot;convert to table
CALL FUNCTION &apos;SCMS_XSTRING_TO_BINARY&apos;
EXPORTING
buffer = lv_file
IMPORTING
output_length = lv_bytecount
TABLES
binary_tab = lt_file_tab.
&quot;Save the file
CALL FUNCTION &apos;GUI_DOWNLOAD&apos;
EXPORTING
bin_filesize = lv_bytecount
filename = &apos;C:\Iconset.xlsx&apos;
lo_worksheet-&gt;set_cell( ip_row = 18 ip_column = &apos;B&apos; ip_value = &apos;C_ICONSET_5ARROWS&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 19 ip_column = &apos;B&apos; ip_value = 10 ).
lo_worksheet-&gt;set_cell( ip_row = 20 ip_column = &apos;B&apos; ip_value = 20 ).
lo_worksheet-&gt;set_cell( ip_row = 21 ip_column = &apos;B&apos; ip_value = 30 ).
lo_worksheet-&gt;set_cell( ip_row = 22 ip_column = &apos;B&apos; ip_value = 40 ).
lo_worksheet-&gt;set_cell( ip_row = 23 ip_column = &apos;B&apos; ip_value = 50 ).
lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset = zcl_excel_style_conditional=&gt;c_iconset_5arrowsgray.
lo_style_conditional-&gt;priority = 1.
lo_style_conditional-&gt;set_range( ip_start_column = &apos;C&apos;
ip_start_row = 19
ip_stop_column = &apos;C&apos;
ip_stop_row = 23 ).
lo_worksheet-&gt;set_cell( ip_row = 18 ip_column = &apos;C&apos; ip_value = &apos;C_ICONSET_5ARROWSGRAY&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 19 ip_column = &apos;C&apos; ip_value = 10 ).
lo_worksheet-&gt;set_cell( ip_row = 20 ip_column = &apos;C&apos; ip_value = 20 ).
lo_worksheet-&gt;set_cell( ip_row = 21 ip_column = &apos;C&apos; ip_value = 30 ).
lo_worksheet-&gt;set_cell( ip_row = 22 ip_column = &apos;C&apos; ip_value = 40 ).
lo_worksheet-&gt;set_cell( ip_row = 23 ip_column = &apos;C&apos; ip_value = 50 ).
lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset = zcl_excel_style_conditional=&gt;c_iconset_5rating.
lo_style_conditional-&gt;priority = 1.
lo_style_conditional-&gt;set_range( ip_start_column = &apos;D&apos;
ip_start_row = 19
ip_stop_column = &apos;D&apos;
ip_stop_row = 23 ).
lo_worksheet-&gt;set_cell( ip_row = 18 ip_column = &apos;D&apos; ip_value = &apos;C_ICONSET_5RATING&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 19 ip_column = &apos;D&apos; ip_value = 10 ).
lo_worksheet-&gt;set_cell( ip_row = 20 ip_column = &apos;D&apos; ip_value = 20 ).
lo_worksheet-&gt;set_cell( ip_row = 21 ip_column = &apos;D&apos; ip_value = 30 ).
lo_worksheet-&gt;set_cell( ip_row = 22 ip_column = &apos;D&apos; ip_value = 40 ).
lo_worksheet-&gt;set_cell( ip_row = 23 ip_column = &apos;D&apos; ip_value = 50 ).
lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset = zcl_excel_style_conditional=&gt;c_iconset_5quarters.
lo_style_conditional-&gt;priority = 1.
lo_style_conditional-&gt;set_range( ip_start_column = &apos;E&apos;
ip_start_row = 19
ip_stop_column = &apos;E&apos;
ip_stop_row = 23 ).
lo_worksheet-&gt;set_cell( ip_row = 18 ip_column = &apos;E&apos; ip_value = &apos;C_ICONSET_5QUARTERS&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 19 ip_column = &apos;E&apos; ip_value = 10 ).
lo_worksheet-&gt;set_cell( ip_row = 20 ip_column = &apos;E&apos; ip_value = 20 ).
lo_worksheet-&gt;set_cell( ip_row = 21 ip_column = &apos;E&apos; ip_value = 30 ).
lo_worksheet-&gt;set_cell( ip_row = 22 ip_column = &apos;E&apos; ip_value = 40 ).
lo_worksheet-&gt;set_cell( ip_row = 23 ip_column = &apos;E&apos; ip_value = 50 ).
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
lv_file = lo_excel_writer-&gt;write_file( lo_excel ).
* Convert to binary
lt_file_tab = cl_bcs_convert=&gt;xstring_to_solix( iv_xstring = lv_file ).
lv_bytecount = XSTRLEN( lv_file ).
&quot; Save the file
cl_gui_frontend_services=&gt;gui_download( EXPORTING bin_filesize = lv_bytecount
filename = p_path
filetype = &apos;BIN&apos;
TABLES
data_tab = lt_file_tab.</source>
CHANGING data_tab = lt_file_tab ).</source>
</PROG>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-16"?>
<PROG NAME="ZDEMO_EXCEL8" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100713" UNAM="FEMIA" UDAT="20100905" VERN="000016" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20100905" STIME="163905" IDATE="20100905" ITIME="163905" UCCHECK="X">
<PROG NAME="ZDEMO_EXCEL8" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100713" UNAM="FEMIA" UDAT="20100924" VERN="000020" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20100924" STIME="153902" IDATE="20100924" ITIME="153902" UCCHECK="X">
<textPool>
<language SPRAS="E">
<textElement ID="R" ENTRY="Test for excel" LENGTH="14 "/>
@ -16,51 +16,72 @@
REPORT zdemo_excel8.
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_range TYPE REF TO zcl_excel_range,
lv_file TYPE xstring,
lv_style_number_guid TYPE zexcel_cell_style,
lv_style_number_guid TYPE zexcel_cell_style.
DATA: lv_file TYPE xstring,
lv_bytecount TYPE i,
lt_file_tab TYPE STANDARD TABLE OF solisti1.
lt_file_tab TYPE solix_tab.
CREATE OBJECT lo_excel.
DATA: lv_file_name TYPE string,
lv_file_path TYPE string,
lv_full_path TYPE string,
lv_workdir TYPE string,
lv_file_separator TYPE c.
&quot; Get active sheet
lo_worksheet = lo_excel-&gt;get_active_worksheet( ).
lo_worksheet-&gt;title = &apos;sheet1&apos;.
lo_range = lo_excel-&gt;add_new_range( ).
lo_range-&gt;name = &apos;range&apos;.
lo_range-&gt;set_value( ip_sheet_name = lo_worksheet-&gt;title
ip_start_column = &apos;C&apos;
ip_start_row = 4
ip_stop_column = &apos;C&apos;
ip_stop_row = 8 ).
CONSTANTS: lv_default_file_name TYPE string VALUE &apos;08_Range.xlsx&apos;.
PARAMETERS: p_path TYPE string.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
cl_gui_frontend_services=&gt;directory_browse( EXPORTING initial_folder = p_path
CHANGING selected_folder = p_path ).
INITIALIZATION.
cl_gui_frontend_services=&gt;get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
p_path = lv_workdir.
START-OF-SELECTION.
IF p_path IS INITIAL.
p_path = lv_workdir.
ENDIF.
cl_gui_frontend_services=&gt;get_file_separator( CHANGING file_separator = lv_file_separator ).
CONCATENATE p_path lv_file_separator lv_default_file_name INTO p_path.
CREATE OBJECT lo_excel.
&quot; Get active sheet
lo_worksheet = lo_excel-&gt;get_active_worksheet( ).
lo_worksheet-&gt;title = &apos;sheet1&apos;.
lo_range = lo_excel-&gt;add_new_range( ).
lo_range-&gt;name = &apos;range&apos;.
lo_range-&gt;set_value( ip_sheet_name = lo_worksheet-&gt;title
ip_start_column = &apos;C&apos;
ip_start_row = 4
ip_stop_column = &apos;C&apos;
ip_stop_row = 8 ).
lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;C&apos; ip_value = &apos;Apple&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;C&apos; ip_value = &apos;Banana&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 6 ip_column = &apos;C&apos; ip_value = &apos;Blueberry&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 7 ip_column = &apos;C&apos; ip_value = &apos;Ananas&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 8 ip_column = &apos;C&apos; ip_value = &apos;Grapes&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;C&apos; ip_value = &apos;Apple&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;C&apos; ip_value = &apos;Banana&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 6 ip_column = &apos;C&apos; ip_value = &apos;Blueberry&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 7 ip_column = &apos;C&apos; ip_value = &apos;Ananas&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 8 ip_column = &apos;C&apos; ip_value = &apos;Grapes&apos; ).
create object lo_excel_writer type zcl_excel_writer_2007.
lv_file = lo_excel_writer-&gt;write_file( lo_excel ).
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
lv_file = lo_excel_writer-&gt;write_file( lo_excel ).
&quot;convert to table
CALL FUNCTION &apos;SCMS_XSTRING_TO_BINARY&apos;
EXPORTING
buffer = lv_file
IMPORTING
output_length = lv_bytecount
TABLES
binary_tab = lt_file_tab.
&quot;Save the file
CALL FUNCTION &apos;GUI_DOWNLOAD&apos;
EXPORTING
bin_filesize = lv_bytecount
filename = &apos;C:\Range.xlsx&apos;
* Convert to binary
lt_file_tab = cl_bcs_convert=&gt;xstring_to_solix( iv_xstring = lv_file ).
lv_bytecount = XSTRLEN( lv_file ).
&quot; Save the file
cl_gui_frontend_services=&gt;gui_download( EXPORTING bin_filesize = lv_bytecount
filename = p_path
filetype = &apos;BIN&apos;
TABLES
data_tab = lt_file_tab.</source>
CHANGING data_tab = lt_file_tab ).</source>
</PROG>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-16"?>
<PROG NAME="ZDEMO_EXCEL9" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100713" UNAM="FEMIA" UDAT="20100905" VERN="000017" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20100905" STIME="163927" IDATE="20100905" ITIME="163927" UCCHECK="X">
<PROG NAME="ZDEMO_EXCEL9" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100713" UNAM="FEMIA" UDAT="20100924" VERN="000021" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20100924" STIME="153902" IDATE="20100924" ITIME="153902" UCCHECK="X">
<textPool>
<language SPRAS="E">
<textElement ID="R" ENTRY="Test for excel" LENGTH="14 "/>
@ -16,58 +16,80 @@
REPORT zdemo_excel9.
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_range TYPE REF TO zcl_excel_range,
lo_data_validation TYPE REF TO zcl_excel_data_validation,
lv_file TYPE xstring,
lv_style_number_guid TYPE zexcel_cell_style,
lv_style_number_guid TYPE zexcel_cell_style.
DATA: lv_file TYPE xstring,
lv_bytecount TYPE i,
lt_file_tab TYPE STANDARD TABLE OF solisti1.
lt_file_tab TYPE solix_tab.
CREATE OBJECT lo_excel.
DATA: lv_file_name TYPE string,
lv_file_path TYPE string,
lv_full_path TYPE string,
lv_workdir TYPE string,
lv_file_separator TYPE c.
&quot; Get active sheet
lo_worksheet = lo_excel-&gt;get_active_worksheet( ).
lo_worksheet-&gt;title = &apos;sheet1&apos;.
lo_range = lo_excel-&gt;add_new_range( ).
lo_range-&gt;name = &apos;range&apos;.
lo_range-&gt;set_value( ip_sheet_name = lo_worksheet-&gt;title
ip_start_column = &apos;C&apos;
ip_start_row = 4
ip_stop_column = &apos;C&apos;
ip_stop_row = 8 ).
CONSTANTS: lv_default_file_name TYPE string VALUE &apos;09_DataValidation.xlsx&apos;.
lo_data_validation = lo_worksheet-&gt;add_new_data_validation( ).
lo_data_validation-&gt;value = lo_range-&gt;name.
lo_data_validation-&gt;cell_row = 4.
lo_data_validation-&gt;cell_column = &apos;A&apos;.
PARAMETERS: p_path TYPE string.
lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;A&apos; ip_value = &apos;Select a value&apos; ).
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;C&apos; ip_value = &apos;Apple&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;C&apos; ip_value = &apos;Banana&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 6 ip_column = &apos;C&apos; ip_value = &apos;Blueberry&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 7 ip_column = &apos;C&apos; ip_value = &apos;Ananas&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 8 ip_column = &apos;C&apos; ip_value = &apos;Grapes&apos; ).
cl_gui_frontend_services=&gt;directory_browse( EXPORTING initial_folder = p_path
CHANGING selected_folder = p_path ).
create object lo_excel_writer type zcl_excel_writer_2007.
lv_file = lo_excel_writer-&gt;write_file( lo_excel ).
INITIALIZATION.
cl_gui_frontend_services=&gt;get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
p_path = lv_workdir.
&quot;convert to table
CALL FUNCTION &apos;SCMS_XSTRING_TO_BINARY&apos;
EXPORTING
buffer = lv_file
IMPORTING
output_length = lv_bytecount
TABLES
binary_tab = lt_file_tab.
&quot;Save the file
CALL FUNCTION &apos;GUI_DOWNLOAD&apos;
EXPORTING
bin_filesize = lv_bytecount
filename = &apos;C:\DataValidation.xlsx&apos;
START-OF-SELECTION.
IF p_path IS INITIAL.
p_path = lv_workdir.
ENDIF.
cl_gui_frontend_services=&gt;get_file_separator( CHANGING file_separator = lv_file_separator ).
CONCATENATE p_path lv_file_separator lv_default_file_name INTO p_path.
CREATE OBJECT lo_excel.
&quot; Get active sheet
lo_worksheet = lo_excel-&gt;get_active_worksheet( ).
lo_worksheet-&gt;title = &apos;sheet1&apos;.
lo_range = lo_excel-&gt;add_new_range( ).
lo_range-&gt;name = &apos;range&apos;.
lo_range-&gt;set_value( ip_sheet_name = lo_worksheet-&gt;title
ip_start_column = &apos;C&apos;
ip_start_row = 4
ip_stop_column = &apos;C&apos;
ip_stop_row = 8 ).
lo_data_validation = lo_worksheet-&gt;add_new_data_validation( ).
lo_data_validation-&gt;value = lo_range-&gt;name.
lo_data_validation-&gt;cell_row = 4.
lo_data_validation-&gt;cell_column = &apos;A&apos;.
lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;A&apos; ip_value = &apos;Select a value&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;C&apos; ip_value = &apos;Apple&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;C&apos; ip_value = &apos;Banana&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 6 ip_column = &apos;C&apos; ip_value = &apos;Blueberry&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 7 ip_column = &apos;C&apos; ip_value = &apos;Ananas&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 8 ip_column = &apos;C&apos; ip_value = &apos;Grapes&apos; ).
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
lv_file = lo_excel_writer-&gt;write_file( lo_excel ).
* Convert to binary
lt_file_tab = cl_bcs_convert=&gt;xstring_to_solix( iv_xstring = lv_file ).
lv_bytecount = XSTRLEN( lv_file ).
&quot; Save the file
cl_gui_frontend_services=&gt;gui_download( EXPORTING bin_filesize = lv_bytecount
filename = p_path
filetype = &apos;BIN&apos;
TABLES
data_tab = lt_file_tab.</source>
CHANGING data_tab = lt_file_tab ).</source>
</PROG>

View File

@ -1,5 +1,5 @@
abap2xlsx"
abap2xlsx
Copyright (c) 2010 - 2011 Plinky.it
@ -12,7 +12,7 @@
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
@category ABAP xlsx Manager
@package ZABAP2XLSX
@package ZA2X
@author Ivan Femia
@company Techedge SpA
@homepage http://www.plinky.it/software

View File

@ -1 +1 @@
Check out the Installation Guide at http://code.google.com/p/abap2xlsx/wiki/InstallationGuide
Check out the Installation Guide at http://wiki.sdn.sap.com/wiki/display/ABAP/Installation+Guide