abap2xlsx/src/zdemo_excel_comments.prog.abap
2019-02-11 18:36:56 +01:00

65 lines
2.9 KiB
ABAP

*&---------------------------------------------------------------------*
*& Report ZDEMO_EXCEL_COMMENTS
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT zdemo_excel_comments.
DATA: lo_excel TYPE REF TO zcl_excel,
lo_worksheet TYPE REF TO zcl_excel_worksheet,
lo_comment TYPE REF TO zcl_excel_comment,
lo_hyperlink TYPE REF TO zcl_excel_hyperlink,
lv_comment TYPE string.
CONSTANTS: gc_save_file_name TYPE string VALUE 'Comments.xlsx'.
INCLUDE zdemo_excel_outputopt_incl.
START-OF-SELECTION.
" Creates active sheet
CREATE OBJECT lo_excel.
" Get active sheet
lo_worksheet = lo_excel->get_active_worksheet( ).
* lo_worksheet->set_title( ip_title = 'Sheet1' ).
lo_worksheet->set_cell( ip_column = 'B' ip_row = 2 ip_value = 'Hello world' ).
lo_worksheet->set_cell( ip_column = 'B' ip_row = 3 ip_value = sy-datum ).
lo_worksheet->set_cell( ip_column = 'C' ip_row = 3 ip_value = sy-uzeit ).
lo_hyperlink = zcl_excel_hyperlink=>create_external_link( iv_url = 'http://www.abap2xlsx.org' ).
lo_worksheet->set_cell( ip_column = 'B' ip_row = 4 ip_value = 'Click here to visit abap2xlsx homepage' ip_hyperlink = lo_hyperlink ).
" Comments
lo_comment = lo_excel->add_new_comment( ).
lo_comment->set_text( ip_ref = 'B13' ip_text = 'This is how it begins to be debug time...' ).
lo_worksheet->add_comment( lo_comment ).
lo_comment = lo_excel->add_new_comment( ).
lo_comment->set_text( ip_ref = 'C18' ip_text = 'Another comment' ).
lo_worksheet->add_comment( lo_comment ).
lo_comment = lo_excel->add_new_comment( ).
CONCATENATE 'A comment split' cl_abap_char_utilities=>cr_lf 'on 2 lines?' INTO lv_comment.
lo_comment->set_text( ip_ref = 'F6' ip_text = lv_comment ).
" Second sheet
lo_worksheet = lo_excel->add_new_worksheet( ).
lo_worksheet->set_default_excel_date_format( zcl_excel_style_number_format=>c_format_date_yyyymmdd ).
lo_worksheet->set_title( ip_title = 'Sheet2' ).
lo_worksheet->set_cell( ip_column = 'A' ip_row = 1 ip_value = 'Date Format set to YYYYMMDD' ).
" Insert current date
lo_worksheet->set_cell( ip_column = 'A' ip_row = 3 ip_value = 'Current Date:' ).
lo_worksheet->set_cell( ip_column = 'A' ip_row = 4 ip_value = sy-datum ).
lo_hyperlink = zcl_excel_hyperlink=>create_internal_link( iv_location = 'Sheet3!B2' ).
lo_worksheet->set_cell( ip_column = 'A' ip_row = 6 ip_value = 'This is link to the third sheet' ip_hyperlink = lo_hyperlink ).
lo_comment = lo_excel->add_new_comment( ).
lo_comment->set_text( ip_ref = 'A8' ip_text = 'What about a comment on second sheet?' ).
" lo_comment->set_text( ip_column = 'A' ip_row = 8 ip_text = 'What about a comment on second sheet?' ).
lo_worksheet->add_comment( lo_comment ).
lo_excel->set_active_sheet_index_by_name( 'Sheet1' ).
*** Create output
lcl_output=>output( lo_excel ).