Added data validation to demo report ZDEMO_EXCEL3 to illustrate the problem of issue #73.

git-svn-id: https://subversion.assembla.com/svn/abap2xlsx/trunk@135 b7d68dce-7c3c-4a99-8ce0-9ea847f5d049
This commit is contained in:
Gregor Wolf 2011-02-13 11:35:30 +00:00
parent 9b364a7341
commit d6447cd59e

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="BCUSER" UDAT="20110119" VERN="000036" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20110119" STIME="192508" IDATE="20110119" ITIME="192508" UCCHECK="X">
<PROG NAME="ZDEMO_EXCEL3" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="BCUSER" UDAT="20110213" VERN="000038" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20110213" STIME="122550" IDATE="20110213" ITIME="122550" UCCHECK="X">
<textPool>
<language SPRAS="E">
<textElement ID="R" ENTRY="abap2xlsx Demo: Export internal table" LENGTH="37 "/>
@ -35,6 +35,14 @@ DATA: lv_full_path TYPE string,
lv_workdir TYPE string,
lv_file_separator TYPE c.
DATA: lv_title TYPE zexcel_sheet_title,
lt_carr TYPE TABLE OF scarr,
row TYPE zexcel_cell_row VALUE 2,
lo_range TYPE REF TO zcl_excel_range.
DATA: lo_data_validation TYPE REF TO zcl_excel_data_validation.
FIELD-SYMBOLS: &lt;carr&gt; LIKE LINE OF lt_carr.
CONSTANTS: c_airlines TYPE string VALUE &apos;Airlines&apos;.
CONSTANTS: lv_default_file_name TYPE string VALUE &apos;03_iTab.xlsx&apos;.
PARAMETERS: p_path TYPE zexcel_export_dir,
@ -82,7 +90,33 @@ START-OF-SELECTION.
column_dimension = lo_worksheet-&gt;get_column_dimension( ip_column = &apos;E&apos; ). &quot;make date field a bit wider
column_dimension-&gt;set_width( ip_width = 11 ).
&quot; Add another table for data validations
lo_worksheet = lo_excel-&gt;add_new_worksheet( ).
lv_title = &apos;Data Validation&apos;.
lo_worksheet-&gt;set_title( lv_title ).
lo_worksheet-&gt;set_cell( ip_row = 1 ip_column = &apos;A&apos; ip_value = c_airlines ).
SELECT * FROM scarr INTO TABLE lt_carr.
LOOP AT lt_carr ASSIGNING &lt;carr&gt;.
lo_worksheet-&gt;set_cell( ip_row = row ip_column = &apos;A&apos; ip_value = &lt;carr&gt;-carrid ).
row = row + 1.
ENDLOOP.
lo_range = lo_excel-&gt;add_new_range( ).
lo_range-&gt;name = c_airlines.
lo_range-&gt;set_value( ip_sheet_name = lv_title
ip_start_column = &apos;A&apos;
ip_start_row = 2
ip_stop_column = &apos;A&apos;
ip_stop_row = row ).
&quot; Set Data Validation
lo_excel-&gt;set_active_sheet_index( 1 ).
lo_worksheet = lo_excel-&gt;get_active_worksheet( ).
lo_data_validation = lo_worksheet-&gt;add_new_data_validation( ).
lo_data_validation-&gt;value = c_airlines.
lo_data_validation-&gt;cell_row = 4.
lo_data_validation-&gt;cell_column = &apos;C&apos;.
&quot; Write to Excel 2007
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
lv_file = lo_excel_writer-&gt;write_file( lo_excel ).