abap2xlsx/ZA2X/PROG/ZDEMO_EXCEL31.slnk
2012-03-24 10:25:37 +00:00

76 lines
3.2 KiB
XML

<?xml version="1.0" encoding="iso-8859-2"?>
<PROG NAME="ZDEMO_EXCEL31" VARCL="X" SUBC="1" CNAM="BCUSER" CDAT="20110929" UNAM="K2_SCHMOECK" UDAT="20120324" VERN="000039" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20120324" STIME="112316" IDATE="20120324" ITIME="112316" UCCHECK="X">
<textPool>
<language SPRAS="E">
<textElement ID="R" ENTRY="abap2xlsx Demo: Autosize Column with different Font sizes" LENGTH="58 "/>
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
</language>
</textPool>
<source>*&amp;---------------------------------------------------------------------*
*&amp; Report ZDEMO_EXCEL1
*&amp;
*&amp;---------------------------------------------------------------------*
*&amp;
*&amp;
*&amp;---------------------------------------------------------------------*
REPORT zdemo_excel31.
DATA: lo_excel TYPE REF TO zcl_excel,
lo_worksheet TYPE REF TO zcl_excel_worksheet,
lo_hyperlink TYPE REF TO zcl_excel_hyperlink,
column_dimension TYPE REF TO zcl_excel_worksheet_columndime.
DATA: fieldval TYPE text80,
row TYPE i,
style_column_a TYPE REF TO zcl_excel_style,
style_column_a_guid TYPE zexcel_cell_style,
style_column_c TYPE REF TO zcl_excel_style,
style_column_c_guid TYPE zexcel_cell_style.
CONSTANTS: gc_save_file_name TYPE string VALUE &apos;31_AutosizeWithDifferentFontSizes.xlsx&apos;.
INCLUDE zdemo_excel_outputopt_incl.
START-OF-SELECTION.
&quot; Creates active sheet
CREATE OBJECT lo_excel.
lo_worksheet = lo_excel-&gt;get_active_worksheet( ).
lo_worksheet-&gt;set_title( ip_title = &apos;Sheet1&apos; ).
style_column_a = lo_excel-&gt;add_new_style( ).
style_column_a-&gt;font-&gt;size = 32 . &quot; quite large
style_column_a_guid = style_column_a-&gt;get_guid( ).
style_column_c = lo_excel-&gt;add_new_style( ).
style_column_c-&gt;font-&gt;size = 16 . &quot; not so large
style_column_c_guid = style_column_c-&gt;get_guid( ).
DO 20 TIMES.
row = sy-index.
CLEAR fieldval.
DO sy-index TIMES.
CONCATENATE fieldval &apos;X&apos; INTO fieldval.
ENDDO.
lo_worksheet-&gt;set_cell( ip_column = &apos;A&apos; ip_row = row ip_value = fieldval ip_style = style_column_a_guid ).
lo_worksheet-&gt;set_cell( ip_column = &apos;B&apos; ip_row = row ip_value = fieldval ).
lo_worksheet-&gt;set_cell( ip_column = &apos;C&apos; ip_row = row ip_value = fieldval ip_style = style_column_c_guid ).
ENDDO.
column_dimension = lo_worksheet-&gt;get_column_dimension( &apos;A&apos; ).
column_dimension-&gt;set_auto_size( ip_auto_size = abap_true ).
column_dimension = lo_worksheet-&gt;get_column_dimension( &apos;B&apos; ).
column_dimension-&gt;set_auto_size( ip_auto_size = abap_true ).
column_dimension = lo_worksheet-&gt;get_column_dimension( &apos;C&apos; ).
column_dimension-&gt;set_auto_size( ip_auto_size = abap_true ).
*** Create output
lcl_output=&gt;output( lo_excel ).</source>
</PROG>