mirror of
https://github.com/abap2xlsx/abap2xlsx.git
synced 2025-05-05 10:56:14 +08:00
2 new demoreports
demo37: Simplest call of the reader and writer - passthrough data demo38: Show off integration of drawings ( here using the SAP-Icons ) git-svn-id: https://subversion.assembla.com/svn/abap2xlsx/trunk@350 b7d68dce-7c3c-4a99-8ce0-9ea847f5d049
This commit is contained in:
parent
5d1bfcc2d8
commit
203db626b2
37
ZA2X/PROG/ZDEMO_EXCEL37.slnk
Normal file
37
ZA2X/PROG/ZDEMO_EXCEL37.slnk
Normal file
|
@ -0,0 +1,37 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PROG NAME="ZDEMO_EXCEL37" VARCL="X" SUBC="1" RSTAT="T" RMAND="100" RLOAD="E" FIXPT="X" UCCHECK="X">
|
||||
<textPool>
|
||||
<language SPRAS="D">
|
||||
<textElement ID="R" ENTRY="Xlsx-Datei lesen und dann wieder ausgeben" LENGTH="70 "/>
|
||||
</language>
|
||||
<language SPRAS="E">
|
||||
<textElement ID="R" ENTRY="Read xlsx-file and output" LENGTH="25 "/>
|
||||
</language>
|
||||
</textPool>
|
||||
<source>REPORT ZDEMO_EXCEL37.
|
||||
|
||||
DATA: excel TYPE REF TO zcl_excel,
|
||||
reader TYPE REF TO zif_excel_reader.
|
||||
|
||||
|
||||
CONSTANTS: gc_save_file_name TYPE string VALUE '37-passthrough.xlsx'.
|
||||
|
||||
SELECTION-SCREEN BEGIN OF BLOCK blx WITH FRAME.
|
||||
PARAMETERS: p_upfile TYPE string OBLIGATORY DEFAULT 'c:\temp\Noprinterassigned.xlsx' LOWER CASE.
|
||||
SELECTION-SCREEN END OF BLOCK blx.
|
||||
|
||||
INCLUDE zdemo_excel_outputopt_incl.
|
||||
|
||||
|
||||
START-OF-SELECTION.
|
||||
|
||||
TRY.
|
||||
CREATE OBJECT reader TYPE zcl_excel_reader_2007.
|
||||
* CREATE OBJECT reader TYPE zcl_excel_reader_xlsm.
|
||||
excel = reader->load_file( p_upfile ).
|
||||
*** Create output
|
||||
lcl_output=>output( excel ).
|
||||
CATCH cx_root.
|
||||
message 'Error reading excelfile' type 'I'.
|
||||
ENDTRY.</source>
|
||||
</PROG>
|
114
ZA2X/PROG/ZDEMO_EXCEL38.slnk
Normal file
114
ZA2X/PROG/ZDEMO_EXCEL38.slnk
Normal file
|
@ -0,0 +1,114 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PROG NAME="ZDEMO_EXCEL38" VARCL="X" SUBC="1" RSTAT="T" RMAND="100" RLOAD="E" FIXPT="X" UCCHECK="X">
|
||||
<textPool>
|
||||
<language SPRAS="E">
|
||||
<textElement ID="R" ENTRY="Read file and output" LENGTH="20 "/>
|
||||
<textElement ID="S" KEY="S_ICON" ENTRY="D ." LENGTH="9 "/>
|
||||
</language>
|
||||
</textPool>
|
||||
<source>REPORT.
|
||||
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_column_dimension TYPE REF TO zcl_excel_worksheet_columndime,
|
||||
lo_drawing TYPE REF TO zcl_excel_drawing.
|
||||
|
||||
TYPES: BEGIN OF gty_icon,
|
||||
name TYPE icon_name,
|
||||
objid TYPE wwwdata-objid,
|
||||
END OF gty_icon,
|
||||
gtyt_icon TYPE STANDARD TABLE OF gty_icon WITH NON-UNIQUE DEFAULT KEY.
|
||||
|
||||
DATA: lt_icon TYPE gtyt_icon,
|
||||
lv_row TYPE sytabix,
|
||||
ls_wwwdatatab TYPE wwwdatatab,
|
||||
lt_mimedata TYPE STANDARD TABLE OF w3mime WITH NON-UNIQUE DEFAULT KEY,
|
||||
lv_xstring TYPE xstring.
|
||||
|
||||
FIELD-SYMBOLS: <icon> LIKE LINE OF lt_icon,
|
||||
<mimedata> LIKE LINE OF lt_mimedata.
|
||||
|
||||
CONSTANTS: gc_save_file_name TYPE string VALUE '38_SAP-Icons.xlsx'.
|
||||
INCLUDE zdemo_excel_outputopt_incl.
|
||||
|
||||
|
||||
TABLES: icon.
|
||||
SELECT-OPTIONS: s_icon FOR icon-name DEFAULT 'ICON_LED_*' OPTION CP.
|
||||
|
||||
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 = 'Demo Icons' ).
|
||||
lo_column_dimension = lo_worksheet->get_column_dimension( ip_column = 'A' ).
|
||||
lo_column_dimension->set_auto_size( 'X' ).
|
||||
lo_column_dimension = lo_worksheet->get_column_dimension( ip_column = 'B' ).
|
||||
lo_column_dimension->set_auto_size( 'X' ).
|
||||
|
||||
* Get all icons
|
||||
SELECT name
|
||||
INTO TABLE lt_icon
|
||||
FROM icon
|
||||
WHERE name IN s_icon
|
||||
ORDER BY name.
|
||||
LOOP AT lt_icon ASSIGNING <icon>.
|
||||
|
||||
lv_row = sy-tabix.
|
||||
*--------------------------------------------------------------------*
|
||||
* Set name of icon
|
||||
*--------------------------------------------------------------------*
|
||||
lo_worksheet->set_cell( ip_row = lv_row
|
||||
ip_column = 'A'
|
||||
ip_value = <icon>-name ).
|
||||
*--------------------------------------------------------------------*
|
||||
* Check whether the mime-repository holds some icondata for us
|
||||
*--------------------------------------------------------------------*
|
||||
|
||||
* Get key
|
||||
SELECT SINGLE objid
|
||||
INTO <icon>-objid
|
||||
FROM wwwdata
|
||||
WHERE text = <icon>-name.
|
||||
CHECK sy-subrc = 0. " :o(
|
||||
lo_worksheet->set_cell( ip_row = lv_row
|
||||
ip_column = 'B'
|
||||
ip_value = <icon>-objid ).
|
||||
|
||||
* Load mimedata
|
||||
CLEAR lt_mimedata.
|
||||
CLEAR ls_wwwdatatab.
|
||||
ls_wwwdatatab-relid = 'MI' .
|
||||
ls_wwwdatatab-objid = <icon>-objid.
|
||||
CALL FUNCTION 'WWWDATA_IMPORT'
|
||||
EXPORTING
|
||||
key = ls_wwwdatatab
|
||||
TABLES
|
||||
mime = lt_mimedata
|
||||
EXCEPTIONS
|
||||
wrong_object_type = 1
|
||||
import_error = 2
|
||||
OTHERS = 3.
|
||||
CHECK sy-subrc = 0. " :o(
|
||||
|
||||
lo_drawing = lo_excel->add_new_drawing( ).
|
||||
lo_drawing->set_position( ip_from_row = lv_row
|
||||
ip_from_col = 'C' ).
|
||||
CLEAR lv_xstring.
|
||||
LOOP AT lt_mimedata ASSIGNING <mimedata>.
|
||||
CONCATENATE lv_xstring <mimedata>-line INTO lv_xstring IN BYTE MODE.
|
||||
ENDLOOP.
|
||||
|
||||
lo_drawing->set_media( ip_media = lv_xstring
|
||||
ip_media_type = 'jpg'
|
||||
ip_width = 16
|
||||
ip_height = 14 ).
|
||||
lo_worksheet->add_drawing( lo_drawing ).
|
||||
|
||||
ENDLOOP.
|
||||
|
||||
*** Create output
|
||||
lcl_output=>output( lo_excel ).</source>
|
||||
</PROG>
|
Loading…
Reference in New Issue
Block a user