*&---------------------------------------------------------------------*
*& Report  ZDEMO_EXCEL42
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT ZDEMO_EXCEL42.
type-POOLS: vrm.

DATA: lo_excel                TYPE REF TO zcl_excel,
      lo_worksheet            TYPE REF TO zcl_excel_worksheet,
      lo_theme                TYPE REF TO zcl_excel_theme,
      lo_style                type ref to zcl_excel_style,
      lv_style_guid            type ZEXCEL_CELL_STYLE.
DATA: gc_save_file_name TYPE string VALUE '42 Theme Manipulation demo.&'.
include zdemo_excel_outputopt_incl.

initialization.


START-OF-SELECTION.


  " Creates active sheet
  CREATE OBJECT lo_excel.

  " Create a bold / italic style with usage of major font
  lo_style               = lo_excel->add_new_style( ).
  lo_style->font->bold   = abap_true.
  lo_style->font->italic = abap_true.
  lo_style->font->scheme = zcl_excel_style_font=>c_scheme_major.
  lo_style->font->color-rgb  = zcl_excel_style_color=>c_red.
  lv_style_guid          = lo_style->get_guid( ).

  " Get active sheet
  lo_worksheet = lo_excel->get_active_worksheet( ).
  lo_worksheet->set_title( ip_title = 'Styles' ).
  lo_worksheet->set_cell( ip_column = 'B' ip_row = 2 ip_value = 'Hello world' ).
  lo_worksheet->set_cell( ip_column = 'C' ip_row = 3 ip_value = 'Bold text'  ip_style = lv_style_guid ).

  "create theme
  create object lo_theme.
  lo_theme->set_theme_name( iv_name = 'Theme Demo 42 A2X' ).
  lo_theme->set_color_scheme_name( iv_name = 'Demo 42 A2X' ).

  "set theme colors
  lo_theme->set_color(
    exporting
      iv_type         = zcl_excel_theme_color_scheme=>c_dark1
      iv_srgb         = '5F9EA0'
*      iv_syscolorname =
*      iv_syscolorlast =
  ).
    lo_theme->set_color(
    exporting
      iv_type         = zcl_excel_theme_color_scheme=>c_dark2
      iv_srgb         = 'FFA500'
*      iv_syscolorname =
*      iv_syscolorlast =
  ).
     lo_theme->set_color(
    exporting
      iv_type         = zcl_excel_theme_color_scheme=>c_light1
      iv_srgb         = '778899'
*      iv_syscolorname =
*      iv_syscolorlast =
  ).

     lo_theme->set_color(
    exporting
      iv_type         = zcl_excel_theme_color_scheme=>c_light1
      iv_srgb         = '9932CC'
*      iv_syscolorname =
*      iv_syscolorlast =
  ).
  lo_theme->set_font_scheme_name( iv_name = 'Demo 42 A2X' ).


  "set theme latin fonts - major and minor
  lo_theme->set_latin_font(
    exporting
      iv_type        = zcl_excel_theme_font_scheme=>c_major
      iv_typeface    = 'Britannic Bold'
*      iv_panose      =
*      iv_pitchfamily =
*      iv_charset     =
  ).
   lo_theme->set_latin_font(
    exporting
      iv_type        = zcl_excel_theme_font_scheme=>c_minor
      iv_typeface    = 'Broadway'
*      iv_panose      =
*      iv_pitchfamily =
*      iv_charset     =
  ).
    "push theme to file
      lo_excel->set_theme( io_theme = lo_theme ).

   "output
      lcl_output=>output( cl_excel = lo_excel ).
