abap2xlsx/ZA2X/PROG/ZDEMO_EXCEL8.slnk
Ivan Femia fda6f0e3eb Ready to test #163
Added range capability to worksheet

git-svn-id: https://subversion.assembla.com/svn/abap2xlsx/trunk@358 b7d68dce-7c3c-4a99-8ce0-9ea847f5d049
2012-11-04 22:22:46 +00:00

81 lines
3.5 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<PROG NAME="ZDEMO_EXCEL8" VARCL="X" SUBC="1" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" UCCHECK="X">
<textPool>
<language SPRAS="E">
<textElement ID="R" ENTRY="abap2xlsx Demo: Define a range" LENGTH="31 "/>
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
</language>
</textPool>
<source>*&amp;---------------------------------------------------------------------*
*&amp; Report ZDEMO_EXCEL8
*&amp;
*&amp;---------------------------------------------------------------------*
*&amp;
*&amp;
*&amp;---------------------------------------------------------------------*
REPORT zdemo_excel8.
DATA: lo_excel TYPE REF TO zcl_excel,
lo_worksheet TYPE REF TO zcl_excel_worksheet,
lo_range TYPE REF TO zcl_excel_range.
DATA: lv_title TYPE zexcel_sheet_title.
CONSTANTS: gc_save_file_name TYPE string VALUE &apos;08_Range.xlsx&apos;.
INCLUDE zdemo_excel_outputopt_incl.
START-OF-SELECTION.
CREATE OBJECT lo_excel.
&quot; Get active sheet
lo_worksheet = lo_excel-&gt;get_active_worksheet( ).
lv_title = &apos;Sheet1&apos;.
lo_worksheet-&gt;set_title( lv_title ).
lo_range = lo_excel-&gt;add_new_range( ).
lo_range-&gt;name = &apos;range&apos;.
lo_range-&gt;set_value( ip_sheet_name = lv_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; ).
&quot; Define another Range with a name longer than 40 characters that
&quot; tests the fix of issue #168 ranges namescan be only up to 20 chars
lo_range = lo_excel-&gt;add_new_range( ).
lo_range-&gt;name = &apos;A_range_with_a_name_that_is_longer_than_20_characters&apos;.
lo_range-&gt;set_value( ip_sheet_name = lv_title
ip_start_column = &apos;D&apos;
ip_start_row = 4
ip_stop_column = &apos;D&apos;
ip_stop_row = 5 ).
lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;D&apos; ip_value = &apos;Range Value 1&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;D&apos; ip_value = &apos;Range Value 2&apos; ).
&quot; issue #163
&quot; Define another Range with sheet visibility
lo_range = lo_worksheet-&gt;add_new_range( ).
lo_range-&gt;name = &apos;A_range_with_sheet_visibility&apos;.
lo_range-&gt;set_value( ip_sheet_name = lv_title
ip_start_column = &apos;E&apos;
ip_start_row = 4
ip_stop_column = &apos;E&apos;
ip_stop_row = 5 ).
lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;E&apos; ip_value = &apos;Range Value 3&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;E&apos; ip_value = &apos;Range Value 4&apos; ).
&quot; issue #163
*** Create output
lcl_output=&gt;output( lo_excel ).</source>
</PROG>