mirror of
https://github.com/abap2xlsx/abap2xlsx.git
synced 2025-05-05 11:06:15 +08:00
#148 - Changing the demoreports
git-svn-id: https://subversion.assembla.com/svn/abap2xlsx/trunk@275 b7d68dce-7c3c-4a99-8ce0-9ea847f5d049
This commit is contained in:
parent
d03563a434
commit
23643ca2db
262
ZA2X/PROG/ZABAP2XLSX_DEMO_SHOW.slnk
Normal file
262
ZA2X/PROG/ZABAP2XLSX_DEMO_SHOW.slnk
Normal file
|
@ -0,0 +1,262 @@
|
||||||
|
<?xml version="1.0" encoding="iso-8859-2"?>
|
||||||
|
<PROG NAME="ZABAP2XLSX_DEMO_SHOW" VARCL="X" SUBC="1" CNAM="K2_SCHMOECK" CDAT="20120322" UNAM="K2_SCHMOECK" UDAT="20120323" VERN="000032" RSTAT="T" RMAND="007" RLOAD="E" FIXPT="X" SDATE="20120323" STIME="205058" IDATE="20120323" ITIME="205058" UCCHECK="X">
|
||||||
|
<source>*&---------------------------------------------------------------------*
|
||||||
|
*& Report ZABAP2XLSX_DEMO_SHOW
|
||||||
|
*&---------------------------------------------------------------------*
|
||||||
|
REPORT zabap2xlsx_demo_like_se83.
|
||||||
|
|
||||||
|
|
||||||
|
*----------------------------------------------------------------------*
|
||||||
|
* CLASS lcl_perform DEFINITION
|
||||||
|
*----------------------------------------------------------------------*
|
||||||
|
CLASS lcl_perform DEFINITION CREATE PRIVATE.
|
||||||
|
PUBLIC SECTION.
|
||||||
|
CLASS-METHODS: setup_objects,
|
||||||
|
collect_reports,
|
||||||
|
|
||||||
|
handle_nav FOR EVENT double_click OF cl_gui_alv_grid
|
||||||
|
IMPORTING e_row.
|
||||||
|
|
||||||
|
PRIVATE SECTION.
|
||||||
|
TYPES: BEGIN OF ty_reports,
|
||||||
|
progname TYPE reposrc-progname,
|
||||||
|
sort TYPE reposrc-progname,
|
||||||
|
filename TYPE string,
|
||||||
|
END OF ty_reports.
|
||||||
|
|
||||||
|
CLASS-DATA:
|
||||||
|
lo_grid TYPE REF TO cl_gui_alv_grid,
|
||||||
|
lo_text TYPE REF TO cl_gui_textedit,
|
||||||
|
cl_document TYPE REF TO i_oi_document_proxy,
|
||||||
|
|
||||||
|
t_reports TYPE STANDARD TABLE OF ty_reports WITH NON-UNIQUE DEFAULT KEY.
|
||||||
|
CLASS-DATA:error TYPE REF TO i_oi_error,
|
||||||
|
t_errors TYPE STANDARD TABLE OF REF TO i_oi_error WITH NON-UNIQUE DEFAULT KEY,
|
||||||
|
cl_control TYPE REF TO i_oi_container_control. "Office Dokument
|
||||||
|
|
||||||
|
ENDCLASS. "lcl_perform DEFINITION
|
||||||
|
|
||||||
|
|
||||||
|
START-OF-SELECTION.
|
||||||
|
lcl_perform=>collect_reports( ).
|
||||||
|
lcl_perform=>setup_objects( ).
|
||||||
|
|
||||||
|
END-OF-SELECTION.
|
||||||
|
|
||||||
|
WRITE '.'. " Force output
|
||||||
|
|
||||||
|
|
||||||
|
*----------------------------------------------------------------------*
|
||||||
|
* CLASS lcl_perform IMPLEMENTATION
|
||||||
|
*----------------------------------------------------------------------*
|
||||||
|
CLASS lcl_perform IMPLEMENTATION.
|
||||||
|
METHOD setup_objects.
|
||||||
|
DATA: lo_split TYPE REF TO cl_gui_splitter_container,
|
||||||
|
lo_container TYPE REF TO cl_gui_container.
|
||||||
|
|
||||||
|
DATA: it_fieldcat TYPE lvc_t_fcat,
|
||||||
|
is_layout TYPE lvc_s_layo,
|
||||||
|
is_variant TYPE disvariant.
|
||||||
|
FIELD-SYMBOLS: <fc> LIKE LINE OF it_fieldcat.
|
||||||
|
|
||||||
|
|
||||||
|
CREATE OBJECT lo_split
|
||||||
|
EXPORTING
|
||||||
|
parent = cl_gui_container=>screen0
|
||||||
|
rows = 1
|
||||||
|
columns = 3
|
||||||
|
no_autodef_progid_dynnr = 'X'.
|
||||||
|
lo_split->set_column_width( EXPORTING id = 1
|
||||||
|
width = 20 ).
|
||||||
|
lo_split->set_column_width( EXPORTING id = 2
|
||||||
|
width = 40 ).
|
||||||
|
|
||||||
|
* Left: List of reports
|
||||||
|
lo_container = lo_split->get_container( row = 1
|
||||||
|
column = 1 ).
|
||||||
|
|
||||||
|
CREATE OBJECT lo_grid
|
||||||
|
EXPORTING
|
||||||
|
i_parent = lo_container.
|
||||||
|
SET HANDLER lcl_perform=>handle_nav FOR lo_grid.
|
||||||
|
|
||||||
|
is_variant-report = sy-repid.
|
||||||
|
is_variant-handle = '0001'.
|
||||||
|
|
||||||
|
is_layout-cwidth_opt = 'X'.
|
||||||
|
|
||||||
|
APPEND INITIAL LINE TO it_fieldcat ASSIGNING <fc>.
|
||||||
|
<fc>-fieldname = 'PROGNAME'.
|
||||||
|
<fc>-tabname = 'REPOSRC'.
|
||||||
|
|
||||||
|
APPEND INITIAL LINE TO it_fieldcat ASSIGNING <fc>.
|
||||||
|
<fc>-fieldname = 'SORT'.
|
||||||
|
<fc>-ref_field = 'PROGNAME'.
|
||||||
|
<fc>-ref_table = 'REPOSRC'.
|
||||||
|
|
||||||
|
|
||||||
|
lo_grid->set_table_for_first_display( EXPORTING
|
||||||
|
is_variant = is_variant
|
||||||
|
i_save = 'A'
|
||||||
|
is_layout = is_layout
|
||||||
|
CHANGING
|
||||||
|
it_outtab = t_reports
|
||||||
|
it_fieldcatalog = it_fieldcat
|
||||||
|
EXCEPTIONS
|
||||||
|
invalid_parameter_combination = 1
|
||||||
|
program_error = 2
|
||||||
|
too_many_lines = 3
|
||||||
|
OTHERS = 4 ).
|
||||||
|
|
||||||
|
* Middle: Text with coding
|
||||||
|
lo_container = lo_split->get_container( row = 1
|
||||||
|
column = 2 ).
|
||||||
|
CREATE OBJECT lo_text
|
||||||
|
EXPORTING
|
||||||
|
parent = lo_container.
|
||||||
|
lo_text->set_readonly_mode( cl_gui_textedit=>true ).
|
||||||
|
lo_text->set_font_fixed( ).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
* right: DemoOutput
|
||||||
|
lo_container = lo_split->get_container( row = 1
|
||||||
|
column = 3 ).
|
||||||
|
|
||||||
|
c_oi_container_control_creator=>get_container_control( IMPORTING control = cl_control
|
||||||
|
error = error ).
|
||||||
|
APPEND error TO t_errors.
|
||||||
|
|
||||||
|
cl_control->init_control( EXPORTING inplace_enabled = 'X'
|
||||||
|
no_flush = 'X'
|
||||||
|
r3_application_name = 'Demo Document Container'
|
||||||
|
parent = lo_container
|
||||||
|
IMPORTING error = error
|
||||||
|
EXCEPTIONS OTHERS = 2 ).
|
||||||
|
APPEND error TO t_errors.
|
||||||
|
|
||||||
|
cl_control->get_document_proxy( EXPORTING document_type = 'Excel.Sheet' " EXCEL
|
||||||
|
no_flush = ' '
|
||||||
|
IMPORTING document_proxy = cl_document
|
||||||
|
error = error ).
|
||||||
|
APPEND error TO t_errors.
|
||||||
|
* Errorhandling should be inserted here
|
||||||
|
|
||||||
|
|
||||||
|
ENDMETHOD. "setup_objects
|
||||||
|
|
||||||
|
"collect_reports
|
||||||
|
METHOD collect_reports.
|
||||||
|
FIELD-SYMBOLS:<report> LIKE LINE OF t_reports.
|
||||||
|
DATA: t_source TYPE STANDARD TABLE OF text255 WITH NON-UNIQUE DEFAULT KEY.
|
||||||
|
|
||||||
|
* Get all demoreports
|
||||||
|
SELECT progname
|
||||||
|
INTO CORRESPONDING FIELDS OF TABLE t_reports
|
||||||
|
FROM reposrc
|
||||||
|
WHERE progname LIKE 'ZDEMO_EXCEL%'
|
||||||
|
AND progname <> sy-repid
|
||||||
|
AND subc = '1'.
|
||||||
|
|
||||||
|
LOOP AT t_reports ASSIGNING <report>.
|
||||||
|
|
||||||
|
* Check if already switched to new outputoptions
|
||||||
|
READ REPORT <report>-progname INTO t_source.
|
||||||
|
IF sy-subrc = 0.
|
||||||
|
FIND 'INCLUDE zdemo_excel_outputopt_incl.' IN TABLE t_source IGNORING CASE.
|
||||||
|
ENDIF.
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
DELETE t_reports.
|
||||||
|
CONTINUE.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
|
||||||
|
* Build half-numeric sort
|
||||||
|
<report>-sort = <report>-progname.
|
||||||
|
REPLACE REGEX '(ZDEMO_EXCEL)(\d\d)\s*$' IN <report>-sort WITH '$1\0$2'. " REPLACE REGEX '(ZDEMO_EXCEL)([^][^])*$' IN <report>-sort WITH '$1$2'.REPLACE REGEX '(ZDEMO_EXCEL)([^][^])*$' IN <report>-sort WITH '$1$2'.REPLACE
|
||||||
|
|
||||||
|
REPLACE REGEX '(ZDEMO_EXCEL)(\d)\s*$' IN <report>-sort WITH '$1\0\0$2'.
|
||||||
|
ENDLOOP.
|
||||||
|
SORT t_reports BY sort progname.
|
||||||
|
|
||||||
|
ENDMETHOD. "collect_reports
|
||||||
|
|
||||||
|
METHOD handle_nav.
|
||||||
|
CONSTANTS: filename TYPE text80 VALUE 'ZABAP2XLSX_DEMO_SHOW.xlsx'.
|
||||||
|
DATA: wa_report LIKE LINE OF t_reports,
|
||||||
|
t_source TYPE STANDARD TABLE OF text255,
|
||||||
|
t_rawdata TYPE solix_tab,
|
||||||
|
wa_rawdata LIKE LINE OF t_rawdata,
|
||||||
|
bytecount TYPE i,
|
||||||
|
length TYPE i,
|
||||||
|
add_selopt TYPE flag.
|
||||||
|
|
||||||
|
|
||||||
|
READ TABLE t_reports INTO wa_report INDEX e_row-index.
|
||||||
|
CHECK sy-subrc = 0.
|
||||||
|
|
||||||
|
* Set new text into middle frame
|
||||||
|
READ REPORT wa_report-progname INTO t_source.
|
||||||
|
lo_text->set_text_as_r3table( EXPORTING table = t_source ).
|
||||||
|
|
||||||
|
|
||||||
|
* Unload old xls-file
|
||||||
|
cl_document->close_document( ).
|
||||||
|
|
||||||
|
* Get the demo
|
||||||
|
* If additional parameters found on selection screen, start via selection screen , otherwise start w/o
|
||||||
|
CLEAR add_selopt.
|
||||||
|
FIND 'PARAMETERS' IN TABLE t_source.
|
||||||
|
IF sy-subrc = 0.
|
||||||
|
add_selopt = 'X'.
|
||||||
|
ELSE.
|
||||||
|
FIND 'SELECT-OPTIONS' IN TABLE t_source.
|
||||||
|
IF sy-subrc = 0.
|
||||||
|
add_selopt = 'X'.
|
||||||
|
ENDIF.
|
||||||
|
ENDIF.
|
||||||
|
IF add_selopt IS INITIAL.
|
||||||
|
SUBMIT (wa_report-progname) AND RETURN
|
||||||
|
WITH p_backfn = filename
|
||||||
|
WITH rb_back = 'X'
|
||||||
|
WITH rb_down = ' '
|
||||||
|
WITH rb_send = ' '
|
||||||
|
WITH rb_show = ' '.
|
||||||
|
ELSE.
|
||||||
|
SUBMIT (wa_report-progname) VIA SELECTION-SCREEN AND RETURN
|
||||||
|
WITH p_backfn = filename
|
||||||
|
WITH rb_back = 'X'
|
||||||
|
WITH rb_down = ' '
|
||||||
|
WITH rb_send = ' '
|
||||||
|
WITH rb_show = ' '.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
OPEN DATASET filename FOR INPUT IN BINARY MODE.
|
||||||
|
IF sy-subrc = 0.
|
||||||
|
DO.
|
||||||
|
CLEAR wa_rawdata.
|
||||||
|
READ DATASET filename INTO wa_rawdata LENGTH length.
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
APPEND wa_rawdata TO t_rawdata.
|
||||||
|
ADD length TO bytecount.
|
||||||
|
EXIT.
|
||||||
|
ENDIF.
|
||||||
|
APPEND wa_rawdata TO t_rawdata.
|
||||||
|
ADD length TO bytecount.
|
||||||
|
ENDDO.
|
||||||
|
CLOSE DATASET filename.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
cl_control->get_document_proxy( EXPORTING document_type = 'Excel.Sheet' " EXCEL
|
||||||
|
no_flush = ' '
|
||||||
|
IMPORTING document_proxy = cl_document
|
||||||
|
error = error ).
|
||||||
|
|
||||||
|
cl_document->open_document_from_table( EXPORTING document_size = bytecount
|
||||||
|
document_table = t_rawdata
|
||||||
|
open_inplace = 'X' ).
|
||||||
|
|
||||||
|
ENDMETHOD. "handle_nav
|
||||||
|
|
||||||
|
ENDCLASS. "lcl_perform IMPLEMENTATION</source>
|
||||||
|
</PROG>
|
|
@ -1,9 +1,9 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="iso-8859-2"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL1" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="FEMIA" UDAT="20120103" VERN="000063" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20120103" STIME="001528" IDATE="20120103" ITIME="001528" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL1" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="K2_SCHMOECK" UDAT="20120321" VERN="000068" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20120323" STIME="211219" IDATE="20120321" ITIME="235313" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="abap2xlsx Demo: Hello World" LENGTH="27 "/>
|
|
||||||
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
||||||
|
<textElement ID="S" KEY="RB_BACK" LENGTH="17 "/>
|
||||||
</language>
|
</language>
|
||||||
</textPool>
|
</textPool>
|
||||||
<source>*&---------------------------------------------------------------------*
|
<source>*&---------------------------------------------------------------------*
|
||||||
|
@ -18,48 +18,21 @@ REPORT zdemo_excel1.
|
||||||
|
|
||||||
|
|
||||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
|
||||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||||
lo_hyperlink TYPE REF TO zcl_excel_hyperlink,
|
lo_hyperlink TYPE REF TO zcl_excel_hyperlink,
|
||||||
column_dimension TYPE REF TO zcl_excel_worksheet_columndime.
|
column_dimension TYPE REF TO zcl_excel_worksheet_columndime.
|
||||||
|
|
||||||
DATA: lv_file TYPE xstring,
|
CONSTANTS: gc_save_file_name TYPE string VALUE '01_HelloWorld.xlsx'.
|
||||||
lv_bytecount TYPE i,
|
INCLUDE zdemo_excel_outputopt_incl.
|
||||||
lt_file_tab TYPE solix_tab.
|
|
||||||
|
|
||||||
DATA: lv_full_path TYPE string,
|
|
||||||
lv_workdir TYPE string,
|
|
||||||
lv_file_separator TYPE c.
|
|
||||||
|
|
||||||
CONSTANTS: lv_default_file_name TYPE string VALUE '01_HelloWorld.xlsx'.
|
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE zexcel_export_dir.
|
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
|
||||||
lv_workdir = p_path.
|
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
|
||||||
CHANGING selected_folder = lv_workdir ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
INITIALIZATION.
|
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
|
||||||
cl_gui_cfw=>flush( ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
START-OF-SELECTION.
|
START-OF-SELECTION.
|
||||||
|
|
||||||
IF p_path IS INITIAL.
|
|
||||||
p_path = lv_workdir.
|
|
||||||
ENDIF.
|
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
|
||||||
|
|
||||||
" Creates active sheet
|
" Creates active sheet
|
||||||
CREATE OBJECT lo_excel.
|
CREATE OBJECT lo_excel.
|
||||||
|
|
||||||
" Get active sheet
|
" Get active sheet
|
||||||
lo_worksheet = lo_excel->get_active_worksheet( ).
|
lo_worksheet = lo_excel->get_active_worksheet( ).
|
||||||
lo_worksheet->set_title( ip_title = 'Sheet1' ).
|
* 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 = 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 = 'B' ip_row = 3 ip_value = sy-datum ).
|
||||||
lo_worksheet->set_cell( ip_column = 'C' ip_row = 3 ip_value = sy-uzeit ).
|
lo_worksheet->set_cell( ip_column = 'C' ip_row = 3 ip_value = sy-uzeit ).
|
||||||
|
@ -69,24 +42,8 @@ START-OF-SELECTION.
|
||||||
column_dimension = lo_worksheet->get_column_dimension( ip_column = 'B' ).
|
column_dimension = lo_worksheet->get_column_dimension( ip_column = 'B' ).
|
||||||
column_dimension->set_width( ip_width = 11 ).
|
column_dimension->set_width( ip_width = 11 ).
|
||||||
|
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
|
||||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
|
||||||
|
|
||||||
" Convert to binary
|
|
||||||
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
|
||||||
EXPORTING
|
|
||||||
buffer = lv_file
|
|
||||||
IMPORTING
|
|
||||||
output_length = lv_bytecount
|
|
||||||
TABLES
|
|
||||||
binary_tab = lt_file_tab.
|
|
||||||
* " This method is only available on AS ABAP > 6.40
|
|
||||||
* lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
|
||||||
* lv_bytecount = xstrlen( lv_file ).
|
|
||||||
|
|
||||||
" Save the file
|
*** Create output
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
lcl_output=>output( lo_excel ).</source>
|
||||||
filename = lv_full_path
|
|
||||||
filetype = 'BIN'
|
|
||||||
CHANGING data_tab = lt_file_tab ).</source>
|
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="iso-8859-2"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL10" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100719" UNAM="FEMIA" UDAT="20110528" VERN="000075" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20110530" STIME="111409" IDATE="20110528" ITIME="181954" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL10" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100719" UNAM="K2_SCHMOECK" UDAT="20120322" VERN="000078" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20120323" STIME="211219" IDATE="20120322" ITIME="234544" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="abap2xlsx Demo: Format internal table with field catalog" LENGTH="56 "/>
|
<textElement ID="R" LENGTH="56 "/>
|
||||||
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
||||||
</language>
|
</language>
|
||||||
</textPool>
|
</textPool>
|
||||||
|
@ -17,7 +17,6 @@
|
||||||
REPORT zdemo_excel10.
|
REPORT zdemo_excel10.
|
||||||
|
|
||||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
|
||||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||||
lo_style_conditional2 TYPE REF TO zcl_excel_style_conditional,
|
lo_style_conditional2 TYPE REF TO zcl_excel_style_conditional,
|
||||||
column_dimension TYPE REF TO zcl_excel_worksheet_columndime.
|
column_dimension TYPE REF TO zcl_excel_worksheet_columndime.
|
||||||
|
@ -26,38 +25,12 @@ DATA: lt_field_catalog TYPE zexcel_t_fieldcatalog,
|
||||||
ls_table_settings TYPE zexcel_s_table_settings,
|
ls_table_settings TYPE zexcel_s_table_settings,
|
||||||
ls_iconset TYPE zexcel_conditional_iconset.
|
ls_iconset TYPE zexcel_conditional_iconset.
|
||||||
|
|
||||||
DATA: lv_file TYPE xstring,
|
CONSTANTS: gc_save_file_name TYPE string VALUE '10_iTabFieldCatalog.xlsx'.
|
||||||
lv_bytecount TYPE i,
|
INCLUDE zdemo_excel_outputopt_incl.
|
||||||
lt_file_tab TYPE solix_tab.
|
|
||||||
|
|
||||||
DATA: lv_full_path TYPE string,
|
|
||||||
lv_workdir TYPE string,
|
|
||||||
lv_file_separator TYPE c.
|
|
||||||
|
|
||||||
CONSTANTS: lv_default_file_name TYPE string VALUE '10_iTabFieldCatalog.xlsx'.
|
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE zexcel_export_dir.
|
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
|
||||||
lv_workdir = p_path.
|
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
|
||||||
CHANGING selected_folder = lv_workdir ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
INITIALIZATION.
|
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
|
||||||
cl_gui_cfw=>flush( ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
START-OF-SELECTION.
|
START-OF-SELECTION.
|
||||||
|
|
||||||
IF p_path IS INITIAL.
|
|
||||||
p_path = lv_workdir.
|
|
||||||
ENDIF.
|
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
|
||||||
|
|
||||||
|
|
||||||
FIELD-SYMBOLS: <fs_field_catalog> TYPE zexcel_s_fieldcatalog.
|
FIELD-SYMBOLS: <fs_field_catalog> TYPE zexcel_s_fieldcatalog.
|
||||||
|
|
||||||
" Creates active sheet
|
" Creates active sheet
|
||||||
|
@ -122,24 +95,7 @@ START-OF-SELECTION.
|
||||||
column_dimension = lo_worksheet->get_column_dimension( ip_column = 'D' ). "make date field a bit wider
|
column_dimension = lo_worksheet->get_column_dimension( ip_column = 'D' ). "make date field a bit wider
|
||||||
column_dimension->set_width( ip_width = 13 ).
|
column_dimension->set_width( ip_width = 13 ).
|
||||||
|
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
|
||||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
|
||||||
|
|
||||||
" Convert to binary
|
*** Create output
|
||||||
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
lcl_output=>output( lo_excel ).</source>
|
||||||
EXPORTING
|
|
||||||
buffer = lv_file
|
|
||||||
IMPORTING
|
|
||||||
output_length = lv_bytecount
|
|
||||||
TABLES
|
|
||||||
binary_tab = lt_file_tab.
|
|
||||||
* " This method is only available on AS ABAP > 6.40
|
|
||||||
* lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
|
||||||
* lv_bytecount = xstrlen( lv_file ).
|
|
||||||
|
|
||||||
" Save the file
|
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
|
||||||
filename = lv_full_path
|
|
||||||
filetype = 'BIN'
|
|
||||||
CHANGING data_tab = lt_file_tab ).</source>
|
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="iso-8859-2"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL11" VARCL="X" SUBC="1" CNAM="BCUSER" CDAT="20100809" UNAM="FEMIA" UDAT="20110528" VERN="000063" RSTAT="K" RMAND="000" RLOAD="E" FIXPT="X" SDATE="20110528" STIME="181954" IDATE="20110528" ITIME="181954" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL11" VARCL="X" SUBC="1" CNAM="BCUSER" CDAT="20100809" UNAM="K2_SCHMOECK" UDAT="20120323" VERN="000065" RSTAT="K" RMAND="000" RLOAD="E" FIXPT="X" SDATE="20120323" STIME="211219" IDATE="20120323" ITIME="204502" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="abap2xlsx Demo: Export Organisation and Contact Persons" LENGTH="55 "/>
|
<textElement ID="R" LENGTH="55 "/>
|
||||||
<textElement ID="S" KEY="COUNTRY" ENTRY="D ." LENGTH="19 "/>
|
<textElement ID="S" KEY="COUNTRY" ENTRY="D ." LENGTH="19 "/>
|
||||||
<textElement ID="S" KEY="MAXSEL" ENTRY="D ." LENGTH="27 "/>
|
<textElement ID="S" KEY="MAXSEL" ENTRY="D ." LENGTH="27 "/>
|
||||||
<textElement ID="S" KEY="MD" ENTRY=" Select by master data" LENGTH="29 "/>
|
<textElement ID="S" KEY="MD" ENTRY=" Select by master data" LENGTH="29 "/>
|
||||||
|
@ -46,13 +46,9 @@ FIELD-SYMBOLS: <relationship_address> LIKE LINE OF relationship_addresses.
|
||||||
DATA: lt_download TYPE TABLE OF zexcel_s_org_rel.
|
DATA: lt_download TYPE TABLE OF zexcel_s_org_rel.
|
||||||
FIELD-SYMBOLS: <download> LIKE LINE OF lt_download.
|
FIELD-SYMBOLS: <download> LIKE LINE OF lt_download.
|
||||||
|
|
||||||
DATA: lv_full_path TYPE string,
|
CONSTANTS: gc_save_file_name TYPE string VALUE '11_Export_Org_and_Contact.xlsx'.
|
||||||
lv_workdir TYPE string,
|
INCLUDE zdemo_excel_outputopt_incl.
|
||||||
lv_file_separator TYPE c.
|
|
||||||
|
|
||||||
CONSTANTS: lv_default_file_name TYPE string VALUE '11_Export_Org_and_Contact.xlsx'.
|
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE zexcel_export_dir.
|
|
||||||
|
|
||||||
PARAMETERS: md TYPE flag RADIOBUTTON GROUP act.
|
PARAMETERS: md TYPE flag RADIOBUTTON GROUP act.
|
||||||
|
|
||||||
|
@ -70,27 +66,11 @@ PARAMETERS: reltyp TYPE bu_reltyp DEFAULT 'BUR011',
|
||||||
partner TYPE bu_partner DEFAULT '191'.
|
partner TYPE bu_partner DEFAULT '191'.
|
||||||
SELECTION-SCREEN END OF BLOCK b.
|
SELECTION-SCREEN END OF BLOCK b.
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
|
||||||
lv_workdir = p_path.
|
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
|
||||||
CHANGING selected_folder = lv_workdir ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
|
|
||||||
INITIALIZATION.
|
INITIALIZATION.
|
||||||
a = 'Select by master data'.
|
a = 'Select by master data'.
|
||||||
b = 'Select by relationship'.
|
b = 'Select by relationship'.
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
|
||||||
cl_gui_cfw=>flush( ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
START-OF-SELECTION.
|
START-OF-SELECTION.
|
||||||
IF p_path IS INITIAL.
|
|
||||||
p_path = lv_workdir.
|
|
||||||
ENDIF.
|
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
|
||||||
|
|
||||||
IF md = abap_true.
|
IF md = abap_true.
|
||||||
" Read all Companies by Master Data
|
" Read all Companies by Master Data
|
||||||
central_search-partnercategory = partnerc.
|
central_search-partnercategory = partnerc.
|
||||||
|
@ -228,7 +208,6 @@ START-OF-SELECTION.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
|
||||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||||
lo_style_body TYPE REF TO zcl_excel_style,
|
lo_style_body TYPE REF TO zcl_excel_style,
|
||||||
lo_border_dark TYPE REF TO zcl_excel_style_border,
|
lo_border_dark TYPE REF TO zcl_excel_style_border,
|
||||||
|
@ -450,24 +429,7 @@ START-OF-SELECTION.
|
||||||
* column_dimension = lo_worksheet->get_column_dimension( ip_column = 'R' ).
|
* column_dimension = lo_worksheet->get_column_dimension( ip_column = 'R' ).
|
||||||
* column_dimension->set_width( ip_width = 40 ).
|
* column_dimension->set_width( ip_width = 40 ).
|
||||||
|
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
|
||||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
|
||||||
|
|
||||||
" Convert to binary
|
*** Create output
|
||||||
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
lcl_output=>output( lo_excel ).</source>
|
||||||
EXPORTING
|
|
||||||
buffer = lv_file
|
|
||||||
IMPORTING
|
|
||||||
output_length = lv_bytecount
|
|
||||||
TABLES
|
|
||||||
binary_tab = lt_file_tab.
|
|
||||||
* " This method is only available on AS ABAP > 6.40
|
|
||||||
* lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
|
||||||
* lv_bytecount = xstrlen( lv_file ).
|
|
||||||
|
|
||||||
" Save the file
|
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
|
||||||
filename = lv_full_path
|
|
||||||
filetype = 'BIN'
|
|
||||||
CHANGING data_tab = lt_file_tab ).</source>
|
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="iso-8859-2"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL12" VARCL="X" SUBC="1" CNAM="BCUSER" CDAT="20100811" UNAM="FEMIA" UDAT="20111101" VERN="000045" RSTAT="T" RMAND="000" RLOAD="E" FIXPT="X" SDATE="20111101" STIME="104442" IDATE="20111101" ITIME="104442" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL12" VARCL="X" SUBC="1" CNAM="BCUSER" CDAT="20100811" UNAM="K2_SCHMOECK" UDAT="20120323" VERN="000048" RSTAT="T" RMAND="000" RLOAD="E" FIXPT="X" SDATE="20120323" STIME="211219" IDATE="20120323" ITIME="205701" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="abap2xlsx Demo: Hide Columns" LENGTH="28 "/>
|
<textElement ID="R" LENGTH="28 "/>
|
||||||
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
||||||
</language>
|
</language>
|
||||||
</textPool>
|
</textPool>
|
||||||
|
@ -17,7 +17,6 @@
|
||||||
REPORT zdemo_excel12.
|
REPORT zdemo_excel12.
|
||||||
|
|
||||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
|
||||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||||
column_dimension TYPE REF TO zcl_excel_worksheet_columndime,
|
column_dimension TYPE REF TO zcl_excel_worksheet_columndime,
|
||||||
row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi.
|
row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi.
|
||||||
|
@ -30,29 +29,11 @@ DATA: lv_full_path TYPE string,
|
||||||
lv_workdir TYPE string,
|
lv_workdir TYPE string,
|
||||||
lv_file_separator TYPE c.
|
lv_file_separator TYPE c.
|
||||||
|
|
||||||
CONSTANTS: lv_default_file_name TYPE string VALUE '12_HideSizeOutlineRowsAndColumns.xlsx'.
|
CONSTANTS: gc_save_file_name TYPE string VALUE '12_HideSizeOutlineRowsAndColumns.xlsx'.
|
||||||
|
INCLUDE zdemo_excel_outputopt_incl.
|
||||||
PARAMETERS: p_path TYPE zexcel_export_dir.
|
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
|
||||||
lv_workdir = p_path.
|
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
|
||||||
CHANGING selected_folder = lv_workdir ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
INITIALIZATION.
|
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
|
||||||
cl_gui_cfw=>flush( ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
START-OF-SELECTION.
|
START-OF-SELECTION.
|
||||||
|
|
||||||
IF p_path IS INITIAL.
|
|
||||||
p_path = lv_workdir.
|
|
||||||
ENDIF.
|
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
|
||||||
|
|
||||||
" Creates active sheet
|
" Creates active sheet
|
||||||
CREATE OBJECT lo_excel.
|
CREATE OBJECT lo_excel.
|
||||||
|
|
||||||
|
@ -108,24 +89,6 @@ START-OF-SELECTION.
|
||||||
row_dimension = lo_worksheet->get_row_dimension( ip_row = 8 ).
|
row_dimension = lo_worksheet->get_row_dimension( ip_row = 8 ).
|
||||||
row_dimension->set_outline_level( ip_outline_level = 2 ).
|
row_dimension->set_outline_level( ip_outline_level = 2 ).
|
||||||
|
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
*** Create output
|
||||||
lv_file = lo_excel_writer->write_file( io_excel = lo_excel ).
|
lcl_output=>output( lo_excel ).</source>
|
||||||
|
|
||||||
" Convert to binary
|
|
||||||
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
|
||||||
EXPORTING
|
|
||||||
buffer = lv_file
|
|
||||||
IMPORTING
|
|
||||||
output_length = lv_bytecount
|
|
||||||
TABLES
|
|
||||||
binary_tab = lt_file_tab.
|
|
||||||
* " This method is only available on AS ABAP > 6.40
|
|
||||||
* lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
|
||||||
* lv_bytecount = xstrlen( lv_file ).
|
|
||||||
|
|
||||||
" Save the file
|
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
|
||||||
filename = lv_full_path
|
|
||||||
filetype = 'BIN'
|
|
||||||
CHANGING data_tab = lt_file_tab ).</source>
|
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="iso-8859-2"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL13" VARCL="X" SUBC="1" CNAM="ATEJADA" CDAT="20100812" UNAM="FEMIA" UDAT="20110611" VERN="000054" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20110611" STIME="110400" IDATE="20110611" ITIME="103640" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL13" VARCL="X" SUBC="1" CNAM="ATEJADA" CDAT="20100812" UNAM="K2_SCHMOECK" UDAT="20120323" VERN="000057" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20120323" STIME="211219" IDATE="20120323" ITIME="205937" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="abap2xlsx Demo: Merge cells" LENGTH="27 "/>
|
<textElement ID="R" LENGTH="27 "/>
|
||||||
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
||||||
</language>
|
</language>
|
||||||
</textPool>
|
</textPool>
|
||||||
|
@ -17,43 +17,17 @@
|
||||||
REPORT zdemo_excel13.
|
REPORT zdemo_excel13.
|
||||||
|
|
||||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
|
||||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||||
lv_style_bold_border_guid TYPE zexcel_cell_style,
|
lv_style_bold_border_guid TYPE zexcel_cell_style,
|
||||||
lo_style_bold_border TYPE REF TO zcl_excel_style,
|
lo_style_bold_border TYPE REF TO zcl_excel_style,
|
||||||
lo_border_dark TYPE REF TO zcl_excel_style_border.
|
lo_border_dark TYPE REF TO zcl_excel_style_border.
|
||||||
|
|
||||||
DATA: lv_file TYPE xstring,
|
|
||||||
lv_bytecount TYPE i,
|
|
||||||
lt_file_tab TYPE solix_tab.
|
|
||||||
|
|
||||||
DATA: lv_full_path TYPE string,
|
CONSTANTS: gc_save_file_name TYPE string VALUE '13_MergedCells.xlsx'.
|
||||||
lv_workdir TYPE string,
|
INCLUDE zdemo_excel_outputopt_incl.
|
||||||
lv_file_separator TYPE c.
|
|
||||||
|
|
||||||
CONSTANTS: lv_default_file_name TYPE string VALUE '13_MergedCells.xlsx'.
|
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE zexcel_export_dir.
|
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
|
||||||
lv_workdir = p_path.
|
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
|
||||||
CHANGING selected_folder = lv_workdir ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
INITIALIZATION.
|
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
|
||||||
cl_gui_cfw=>flush( ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
START-OF-SELECTION.
|
START-OF-SELECTION.
|
||||||
|
|
||||||
IF p_path IS INITIAL.
|
|
||||||
p_path = lv_workdir.
|
|
||||||
ENDIF.
|
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
|
||||||
|
|
||||||
CREATE OBJECT lo_excel.
|
CREATE OBJECT lo_excel.
|
||||||
|
|
||||||
" Get active sheet
|
" Get active sheet
|
||||||
|
@ -112,24 +86,7 @@ START-OF-SELECTION.
|
||||||
lo_worksheet->set_merge( ip_row = 13 ip_column_start = 'E' ip_column_end = 'F' ).
|
lo_worksheet->set_merge( ip_row = 13 ip_column_start = 'E' ip_column_end = 'F' ).
|
||||||
|
|
||||||
|
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
|
||||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
|
||||||
|
|
||||||
" Convert to binary
|
*** Create output
|
||||||
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
lcl_output=>output( lo_excel ).</source>
|
||||||
EXPORTING
|
|
||||||
buffer = lv_file
|
|
||||||
IMPORTING
|
|
||||||
output_length = lv_bytecount
|
|
||||||
TABLES
|
|
||||||
binary_tab = lt_file_tab.
|
|
||||||
* " This method is only available on AS ABAP > 6.40
|
|
||||||
* lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
|
||||||
* lv_bytecount = xstrlen( lv_file ).
|
|
||||||
|
|
||||||
" Save the file
|
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
|
||||||
filename = lv_full_path
|
|
||||||
filetype = 'BIN'
|
|
||||||
CHANGING data_tab = lt_file_tab ).</source>
|
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="iso-8859-2"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL14" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100817" UNAM="FEMIA" UDAT="20110528" VERN="000054" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20110530" STIME="095303" IDATE="20110528" ITIME="181954" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL14" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100817" UNAM="K2_SCHMOECK" UDAT="20120323" VERN="000056" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20120323" STIME="211219" IDATE="20120323" ITIME="210022" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="abap2xlsx Demo: Alignment" LENGTH="25 "/>
|
<textElement ID="R" LENGTH="25 "/>
|
||||||
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
||||||
</language>
|
</language>
|
||||||
</textPool>
|
</textPool>
|
||||||
|
@ -17,7 +17,6 @@
|
||||||
REPORT zdemo_excel14.
|
REPORT zdemo_excel14.
|
||||||
|
|
||||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
|
||||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||||
lo_style_center TYPE REF TO zcl_excel_style,
|
lo_style_center TYPE REF TO zcl_excel_style,
|
||||||
lo_style_right TYPE REF TO zcl_excel_style,
|
lo_style_right TYPE REF TO zcl_excel_style,
|
||||||
|
@ -46,37 +45,12 @@ DATA: lo_excel TYPE REF TO zcl_excel,
|
||||||
|
|
||||||
DATA: lo_row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi.
|
DATA: lo_row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi.
|
||||||
|
|
||||||
DATA: lv_file TYPE xstring,
|
CONSTANTS: gc_save_file_name TYPE string VALUE '14_Alignment.xlsx'.
|
||||||
lv_bytecount TYPE i,
|
INCLUDE zdemo_excel_outputopt_incl.
|
||||||
lt_file_tab TYPE solix_tab.
|
|
||||||
|
|
||||||
DATA: lv_full_path TYPE string,
|
|
||||||
lv_workdir TYPE string,
|
|
||||||
lv_file_separator TYPE c.
|
|
||||||
|
|
||||||
CONSTANTS: lv_default_file_name TYPE string VALUE '14_Alignment.xlsx'.
|
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE zexcel_export_dir.
|
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
|
||||||
lv_workdir = p_path.
|
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
|
||||||
CHANGING selected_folder = lv_workdir ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
INITIALIZATION.
|
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
|
||||||
cl_gui_cfw=>flush( ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
START-OF-SELECTION.
|
START-OF-SELECTION.
|
||||||
|
|
||||||
IF p_path IS INITIAL.
|
|
||||||
p_path = lv_workdir.
|
|
||||||
ENDIF.
|
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
|
||||||
|
|
||||||
CREATE OBJECT lo_excel.
|
CREATE OBJECT lo_excel.
|
||||||
|
|
||||||
" Get active sheet
|
" Get active sheet
|
||||||
|
@ -137,7 +111,7 @@ START-OF-SELECTION.
|
||||||
lo_style_rotated = lo_excel->add_new_style( ).
|
lo_style_rotated = lo_excel->add_new_style( ).
|
||||||
lo_style_rotated->alignment->horizontal = zcl_excel_style_alignment=>c_horizontal_center.
|
lo_style_rotated->alignment->horizontal = zcl_excel_style_alignment=>c_horizontal_center.
|
||||||
lo_style_rotated->alignment->vertical = zcl_excel_style_alignment=>c_vertical_center.
|
lo_style_rotated->alignment->vertical = zcl_excel_style_alignment=>c_vertical_center.
|
||||||
lo_style_rotated->alignment->textrotation = 165. " -75° == 90° + 75°
|
lo_style_rotated->alignment->textrotation = 165. " -75° == 90° + 75°
|
||||||
lv_style_rotated_guid = lo_style_rotated->get_guid( ).
|
lv_style_rotated_guid = lo_style_rotated->get_guid( ).
|
||||||
|
|
||||||
|
|
||||||
|
@ -171,27 +145,11 @@ START-OF-SELECTION.
|
||||||
|
|
||||||
" Rotated
|
" Rotated
|
||||||
lo_worksheet->set_cell( ip_row = 10 ip_column = 'D'
|
lo_worksheet->set_cell( ip_row = 10 ip_column = 'D'
|
||||||
ip_value = 'This is a centered text rotated by -75°'
|
ip_value = 'This is a centered text rotated by -75°'
|
||||||
ip_style = lv_style_rotated_guid ).
|
ip_style = lv_style_rotated_guid ).
|
||||||
|
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
|
||||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
|
||||||
|
|
||||||
" Convert to binary
|
|
||||||
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
|
||||||
EXPORTING
|
|
||||||
buffer = lv_file
|
|
||||||
IMPORTING
|
|
||||||
output_length = lv_bytecount
|
|
||||||
TABLES
|
|
||||||
binary_tab = lt_file_tab.
|
|
||||||
* " This method is only available on AS ABAP > 6.40
|
|
||||||
* lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
|
||||||
* lv_bytecount = xstrlen( lv_file ).
|
|
||||||
|
|
||||||
" Save the file
|
*** Create output
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
lcl_output=>output( lo_excel ).</source>
|
||||||
filename = lv_full_path
|
|
||||||
filetype = 'BIN'
|
|
||||||
CHANGING data_tab = lt_file_tab ).</source>
|
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="iso-8859-2"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL16" VARCL="X" SUBC="1" CNAM="VONDRUSKA" CDAT="20100914" UNAM="FEMIA" UDAT="20110528" VERN="000075" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20110530" STIME="095303" IDATE="20110528" ITIME="181954" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL16" VARCL="X" SUBC="1" CNAM="VONDRUSKA" CDAT="20100914" UNAM="K2_SCHMOECK" UDAT="20120323" VERN="000077" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20120323" STIME="211219" IDATE="20120323" ITIME="210450" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="abap2xlsx Demo: Drawings" LENGTH="24 "/>
|
<textElement ID="R" LENGTH="24 "/>
|
||||||
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
||||||
</language>
|
</language>
|
||||||
</textPool>
|
</textPool>
|
||||||
|
@ -17,46 +17,22 @@
|
||||||
REPORT zdemo_excel16.
|
REPORT zdemo_excel16.
|
||||||
|
|
||||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
|
||||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||||
lo_drawing TYPE REF TO zcl_excel_drawing.
|
lo_drawing TYPE REF TO zcl_excel_drawing.
|
||||||
|
|
||||||
DATA: lv_file TYPE xstring,
|
|
||||||
lv_bytecount TYPE i,
|
|
||||||
lt_file_tab TYPE solix_tab.
|
|
||||||
|
|
||||||
DATA: lv_full_path TYPE string,
|
|
||||||
lv_workdir TYPE string,
|
|
||||||
lv_file_separator TYPE c.
|
|
||||||
|
|
||||||
DATA: ls_io TYPE skwf_io.
|
DATA: ls_io TYPE skwf_io.
|
||||||
|
|
||||||
CONSTANTS: lv_default_file_name TYPE string VALUE '16_Drawings.xlsx'.
|
CONSTANTS: gc_save_file_name TYPE string VALUE '16_Drawings.xlsx'.
|
||||||
|
INCLUDE zdemo_excel_outputopt_incl.
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE zexcel_export_dir,
|
PARAMETERS: p_objid TYPE sdok_docid DEFAULT '456694429165174BE10000000A1550C0', " Question mark in standard Web Dynpro WDT_QUIZ
|
||||||
p_objid TYPE sdok_docid DEFAULT '456694429165174BE10000000A1550C0', " Question mark in standard Web Dynpro WDT_QUIZ
|
|
||||||
p_class TYPE sdok_class DEFAULT 'M_IMAGE_P',
|
p_class TYPE sdok_class DEFAULT 'M_IMAGE_P',
|
||||||
pobjtype TYPE skwf_ioty DEFAULT 'P'.
|
pobjtype TYPE skwf_ioty DEFAULT 'P'.
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
|
||||||
lv_workdir = p_path.
|
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
|
||||||
CHANGING selected_folder = lv_workdir ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
INITIALIZATION.
|
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
|
||||||
cl_gui_cfw=>flush( ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
START-OF-SELECTION.
|
START-OF-SELECTION.
|
||||||
|
|
||||||
IF p_path IS INITIAL.
|
|
||||||
p_path = lv_workdir.
|
|
||||||
ENDIF.
|
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
|
||||||
|
|
||||||
" Creates active sheet
|
" Creates active sheet
|
||||||
CREATE OBJECT lo_excel.
|
CREATE OBJECT lo_excel.
|
||||||
|
|
||||||
|
@ -162,24 +138,8 @@ START-OF-SELECTION.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
|
||||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
|
||||||
|
|
||||||
" Convert to binary
|
|
||||||
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
|
||||||
EXPORTING
|
|
||||||
buffer = lv_file
|
|
||||||
IMPORTING
|
|
||||||
output_length = lv_bytecount
|
|
||||||
TABLES
|
|
||||||
binary_tab = lt_file_tab.
|
|
||||||
* " This method is only available on AS ABAP > 6.40
|
|
||||||
* lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
|
||||||
* lv_bytecount = xstrlen( lv_file ).
|
|
||||||
|
|
||||||
" Save the file
|
*** Create output
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
lcl_output=>output( lo_excel ).</source>
|
||||||
filename = lv_full_path
|
|
||||||
filetype = 'BIN'
|
|
||||||
CHANGING data_tab = lt_file_tab ).</source>
|
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="iso-8859-2"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL17" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100921" UNAM="FEMIA" UDAT="20110528" VERN="000035" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20110530" STIME="095303" IDATE="20110528" ITIME="181954" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL17" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100921" UNAM="K2_SCHMOECK" UDAT="20120323" VERN="000037" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20120323" STIME="211219" IDATE="20120323" ITIME="210733" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="abap2xlsx Demo: Sheet Protection" LENGTH="32 "/>
|
<textElement ID="R" LENGTH="32 "/>
|
||||||
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="24 "/>
|
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="24 "/>
|
||||||
<textElement ID="S" KEY="P_PWD" ENTRY="D ." LENGTH="9 "/>
|
<textElement ID="S" KEY="P_PWD" ENTRY="D ." LENGTH="9 "/>
|
||||||
</language>
|
</language>
|
||||||
|
@ -18,7 +18,6 @@
|
||||||
REPORT zdemo_excel17.
|
REPORT zdemo_excel17.
|
||||||
|
|
||||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
|
||||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||||
lo_style_protection TYPE REF TO zcl_excel_style,
|
lo_style_protection TYPE REF TO zcl_excel_style,
|
||||||
lv_style_protection_guid TYPE zexcel_cell_style,
|
lv_style_protection_guid TYPE zexcel_cell_style,
|
||||||
|
@ -26,38 +25,13 @@ DATA: lo_excel TYPE REF TO zcl_excel,
|
||||||
lv_style TYPE zexcel_cell_style.
|
lv_style TYPE zexcel_cell_style.
|
||||||
|
|
||||||
|
|
||||||
DATA: lv_file TYPE xstring,
|
CONSTANTS: gc_save_file_name TYPE string VALUE '17_SheetProtection.xlsx'.
|
||||||
lv_bytecount TYPE i,
|
INCLUDE zdemo_excel_outputopt_incl.
|
||||||
lt_file_tab TYPE solix_tab.
|
|
||||||
|
|
||||||
DATA: lv_full_path TYPE string,
|
PARAMETERS: p_pwd TYPE zexcel_aes_password LOWER CASE DEFAULT 'secret'.
|
||||||
lv_workdir TYPE string,
|
|
||||||
lv_file_separator TYPE c.
|
|
||||||
|
|
||||||
CONSTANTS: lv_default_file_name TYPE string VALUE '17_SheetProtection.xlsx'.
|
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE zexcel_export_dir,
|
|
||||||
p_pwd TYPE zexcel_aes_password LOWER CASE DEFAULT 'secret'.
|
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
|
||||||
lv_workdir = p_path.
|
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
|
||||||
CHANGING selected_folder = lv_workdir ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
INITIALIZATION.
|
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
|
||||||
cl_gui_cfw=>flush( ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
START-OF-SELECTION.
|
START-OF-SELECTION.
|
||||||
|
|
||||||
IF p_path IS INITIAL.
|
|
||||||
p_path = lv_workdir.
|
|
||||||
ENDIF.
|
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
|
||||||
|
|
||||||
CREATE OBJECT lo_excel.
|
CREATE OBJECT lo_excel.
|
||||||
|
|
||||||
" Get active sheet
|
" Get active sheet
|
||||||
|
@ -84,24 +58,9 @@ START-OF-SELECTION.
|
||||||
lo_worksheet->set_cell( ip_row = 7 ip_column = 'C' ip_value = 'This cell is unlocked' ip_style = lv_style_protection_guid ).
|
lo_worksheet->set_cell( ip_row = 7 ip_column = 'C' ip_value = 'This cell is unlocked' ip_style = lv_style_protection_guid ).
|
||||||
lo_worksheet->set_cell( ip_row = 8 ip_column = 'C' ip_value = 'This cell is locked as all the others empty cell' ).
|
lo_worksheet->set_cell( ip_row = 8 ip_column = 'C' ip_value = 'This cell is locked as all the others empty cell' ).
|
||||||
|
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
|
||||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
|
||||||
|
|
||||||
" Convert to binary
|
|
||||||
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
|
||||||
EXPORTING
|
|
||||||
buffer = lv_file
|
|
||||||
IMPORTING
|
|
||||||
output_length = lv_bytecount
|
|
||||||
TABLES
|
|
||||||
binary_tab = lt_file_tab.
|
|
||||||
* " This method is only available on AS ABAP > 6.40
|
|
||||||
* lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
|
||||||
* lv_bytecount = xstrlen( lv_file ).
|
|
||||||
|
|
||||||
" Save the file
|
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
*** Create output
|
||||||
filename = lv_full_path
|
lcl_output=>output( lo_excel ).</source>
|
||||||
filetype = 'BIN'
|
|
||||||
CHANGING data_tab = lt_file_tab ).</source>
|
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="iso-8859-2"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL18" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100923" UNAM="FEMIA" UDAT="20110528" VERN="000030" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20110530" STIME="095303" IDATE="20110528" ITIME="181954" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL18" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100923" UNAM="K2_SCHMOECK" UDAT="20120323" VERN="000032" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20120323" STIME="211318" IDATE="20120323" ITIME="211318" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="abap2xlsx Demo: Book protection" LENGTH="31 "/>
|
<textElement ID="R" LENGTH="31 "/>
|
||||||
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
||||||
</language>
|
</language>
|
||||||
</textPool>
|
</textPool>
|
||||||
|
@ -17,41 +17,16 @@
|
||||||
REPORT zdemo_excel18.
|
REPORT zdemo_excel18.
|
||||||
|
|
||||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
|
||||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||||
lv_style_protection_guid TYPE zexcel_cell_style.
|
lv_style_protection_guid TYPE zexcel_cell_style.
|
||||||
|
|
||||||
DATA: lv_file TYPE xstring,
|
|
||||||
lv_bytecount TYPE i,
|
|
||||||
lt_file_tab TYPE solix_tab.
|
|
||||||
|
|
||||||
DATA: lv_full_path TYPE string,
|
CONSTANTS: gc_save_file_name TYPE string VALUE '18_BookProtection.xlsx'.
|
||||||
lv_workdir TYPE string,
|
INCLUDE zdemo_excel_outputopt_incl.
|
||||||
lv_file_separator TYPE c.
|
|
||||||
|
|
||||||
CONSTANTS: lv_default_file_name TYPE string VALUE '18_BookProtection.xlsx'.
|
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE zexcel_export_dir.
|
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
|
||||||
lv_workdir = p_path.
|
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
|
||||||
CHANGING selected_folder = lv_workdir ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
INITIALIZATION.
|
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
|
||||||
cl_gui_cfw=>flush( ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
START-OF-SELECTION.
|
START-OF-SELECTION.
|
||||||
|
|
||||||
IF p_path IS INITIAL.
|
|
||||||
p_path = lv_workdir.
|
|
||||||
ENDIF.
|
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
|
||||||
|
|
||||||
CREATE OBJECT lo_excel.
|
CREATE OBJECT lo_excel.
|
||||||
|
|
||||||
" Get active sheet
|
" Get active sheet
|
||||||
|
@ -63,24 +38,9 @@ START-OF-SELECTION.
|
||||||
lo_worksheet = lo_excel->get_active_worksheet( ).
|
lo_worksheet = lo_excel->get_active_worksheet( ).
|
||||||
lo_worksheet->set_cell( ip_row = 4 ip_column = 'C' ip_value = 'This cell is unlocked' ip_style = lv_style_protection_guid ).
|
lo_worksheet->set_cell( ip_row = 4 ip_column = 'C' ip_value = 'This cell is unlocked' ip_style = lv_style_protection_guid ).
|
||||||
|
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
|
||||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
|
||||||
|
|
||||||
" Convert to binary
|
|
||||||
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
|
||||||
EXPORTING
|
|
||||||
buffer = lv_file
|
|
||||||
IMPORTING
|
|
||||||
output_length = lv_bytecount
|
|
||||||
TABLES
|
|
||||||
binary_tab = lt_file_tab.
|
|
||||||
* " This method is only available on AS ABAP > 6.40
|
|
||||||
* lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
|
||||||
* lv_bytecount = xstrlen( lv_file ).
|
|
||||||
|
|
||||||
" Save the file
|
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
*** Create output
|
||||||
filename = lv_full_path
|
lcl_output=>output( lo_excel ).</source>
|
||||||
filetype = 'BIN'
|
|
||||||
CHANGING data_tab = lt_file_tab ).</source>
|
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
|
@ -1,8 +1,12 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="iso-8859-2"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL19" VARCL="X" SUBC="1" CNAM="BCUSER" CDAT="20101030" UNAM="FEMIA" UDAT="20110528" VERN="000027" RSTAT="T" RMAND="000" RLOAD="E" FIXPT="X" SDATE="20110530" STIME="095303" IDATE="20110528" ITIME="181954" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL19" VARCL="X" SUBC="1" CNAM="BCUSER" CDAT="20101030" UNAM="K2_SCHMOECK" UDAT="20120323" VERN="000029" RSTAT="T" RMAND="000" RLOAD="E" FIXPT="X" SDATE="20120323" STIME="211531" IDATE="20120323" ITIME="211531" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
|
<language SPRAS="D">
|
||||||
|
<textElement ID="S" KEY="P_NOOUT" ENTRY=" Hide output" LENGTH="19 "/>
|
||||||
|
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="26 "/>
|
||||||
|
</language>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="abap2xlsx Demo: Set active sheet" LENGTH="32 "/>
|
<textElement ID="R" LENGTH="32 "/>
|
||||||
<textElement ID="S" KEY="P_NOOUT" ENTRY=" Hide output" LENGTH="19 "/>
|
<textElement ID="S" KEY="P_NOOUT" ENTRY=" Hide output" LENGTH="19 "/>
|
||||||
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="26 "/>
|
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="26 "/>
|
||||||
</language>
|
</language>
|
||||||
|
@ -20,41 +24,17 @@ REPORT zdemo_excel19.
|
||||||
TYPE-POOLS: abap.
|
TYPE-POOLS: abap.
|
||||||
|
|
||||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
|
||||||
lo_worksheet TYPE REF TO zcl_excel_worksheet.
|
lo_worksheet TYPE REF TO zcl_excel_worksheet.
|
||||||
|
|
||||||
DATA: lv_file TYPE xstring,
|
|
||||||
lv_bytecount TYPE i,
|
|
||||||
lt_file_tab TYPE solix_tab.
|
|
||||||
|
|
||||||
DATA: lv_full_path TYPE string,
|
CONSTANTS: gc_save_file_name TYPE string VALUE '19_SetActiveSheet.xlsx'.
|
||||||
lv_workdir TYPE string,
|
INCLUDE zdemo_excel_outputopt_incl.
|
||||||
lv_file_separator TYPE c.
|
|
||||||
|
|
||||||
CONSTANTS: lv_default_file_name TYPE string VALUE '19_SetActiveSheet.xlsx'.
|
PARAMETERS: p_noout TYPE xfeld DEFAULT abap_true.
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE zexcel_export_dir,
|
|
||||||
p_noout TYPE xfeld DEFAULT abap_true.
|
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
|
||||||
lv_workdir = p_path.
|
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
|
||||||
CHANGING selected_folder = lv_workdir ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
INITIALIZATION.
|
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
|
||||||
cl_gui_cfw=>flush( ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
START-OF-SELECTION.
|
START-OF-SELECTION.
|
||||||
|
|
||||||
IF p_path IS INITIAL.
|
|
||||||
p_path = lv_workdir.
|
|
||||||
ENDIF.
|
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
|
||||||
|
|
||||||
CREATE OBJECT lo_excel.
|
CREATE OBJECT lo_excel.
|
||||||
|
|
||||||
" First Worksheet
|
" First Worksheet
|
||||||
|
@ -83,24 +63,8 @@ START-OF-SELECTION.
|
||||||
active_sheet_index = lo_excel->get_active_sheet_index( ).
|
active_sheet_index = lo_excel->get_active_sheet_index( ).
|
||||||
WRITE: 'Sheet Index after: ', active_sheet_index.
|
WRITE: 'Sheet Index after: ', active_sheet_index.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
|
||||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
|
||||||
|
|
||||||
" Convert to binary
|
|
||||||
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
|
||||||
EXPORTING
|
|
||||||
buffer = lv_file
|
|
||||||
IMPORTING
|
|
||||||
output_length = lv_bytecount
|
|
||||||
TABLES
|
|
||||||
binary_tab = lt_file_tab.
|
|
||||||
* " This method is only available on AS ABAP > 6.40
|
|
||||||
* lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
|
||||||
* lv_bytecount = xstrlen( lv_file ).
|
|
||||||
|
|
||||||
" Save the file
|
*** Create output
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
lcl_output=>output( lo_excel ).</source>
|
||||||
filename = lv_full_path
|
|
||||||
filetype = 'BIN'
|
|
||||||
CHANGING data_tab = lt_file_tab ).</source>
|
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="iso-8859-2"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL2" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="FEMIA" UDAT="20110611" VERN="000044" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20110611" STIME="095240" IDATE="20110611" ITIME="095240" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL2" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="K2_SCHMOECK" UDAT="20120322" VERN="000047" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20120323" STIME="211219" IDATE="20120322" ITIME="000105" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="abap2xlsx Demo: Styles" LENGTH="25 "/>
|
<textElement ID="R" LENGTH="25 "/>
|
||||||
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
||||||
</language>
|
</language>
|
||||||
</textPool>
|
</textPool>
|
||||||
|
@ -17,7 +17,6 @@
|
||||||
REPORT zdemo_excel2.
|
REPORT zdemo_excel2.
|
||||||
|
|
||||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
|
||||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||||
lo_style_bold TYPE REF TO zcl_excel_style,
|
lo_style_bold TYPE REF TO zcl_excel_style,
|
||||||
lo_style_underline TYPE REF TO zcl_excel_style,
|
lo_style_underline TYPE REF TO zcl_excel_style,
|
||||||
|
@ -43,28 +42,13 @@ DATA: lv_full_path TYPE string,
|
||||||
lv_workdir TYPE string,
|
lv_workdir TYPE string,
|
||||||
lv_file_separator TYPE c.
|
lv_file_separator TYPE c.
|
||||||
|
|
||||||
CONSTANTS: lv_default_file_name TYPE string VALUE '02_Styles.xlsx'.
|
CONSTANTS: gc_save_file_name TYPE string VALUE '02_Styles.xlsx'.
|
||||||
|
INCLUDE zdemo_excel_outputopt_incl.
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE zexcel_export_dir.
|
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
|
||||||
lv_workdir = p_path.
|
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
|
||||||
CHANGING selected_folder = lv_workdir ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
INITIALIZATION.
|
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
|
||||||
cl_gui_cfw=>flush( ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
START-OF-SELECTION.
|
START-OF-SELECTION.
|
||||||
|
|
||||||
IF p_path IS INITIAL.
|
|
||||||
p_path = lv_workdir.
|
|
||||||
ENDIF.
|
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
|
||||||
|
|
||||||
" Creates active sheet
|
" Creates active sheet
|
||||||
CREATE OBJECT lo_excel.
|
CREATE OBJECT lo_excel.
|
||||||
|
@ -147,24 +131,26 @@ START-OF-SELECTION.
|
||||||
" https://code.sdn.sap.com/spaces/abap2xlsx/tickets/44-exception-zcx_excel-thrown-when-style-is-set-for-an-empty-cell
|
" https://code.sdn.sap.com/spaces/abap2xlsx/tickets/44-exception-zcx_excel-thrown-when-style-is-set-for-an-empty-cell
|
||||||
lo_worksheet->set_cell_style( ip_column = 'E' ip_row = 6 ip_style = lv_style_filled_green_guid ).
|
lo_worksheet->set_cell_style( ip_column = 'E' ip_row = 6 ip_style = lv_style_filled_green_guid ).
|
||||||
|
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
* CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
||||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
* lv_file = lo_excel_writer->write_file( lo_excel ).
|
||||||
|
*
|
||||||
|
* " Convert to binary
|
||||||
|
* CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
||||||
|
* EXPORTING
|
||||||
|
* buffer = lv_file
|
||||||
|
* IMPORTING
|
||||||
|
* output_length = lv_bytecount
|
||||||
|
* TABLES
|
||||||
|
* binary_tab = lt_file_tab.
|
||||||
|
** " This method is only available on AS ABAP > 6.40
|
||||||
|
** lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
||||||
|
** lv_bytecount = xstrlen( lv_file ).
|
||||||
|
*
|
||||||
|
* " Save the file
|
||||||
|
* cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
||||||
|
* filename = lv_full_path
|
||||||
|
* filetype = 'BIN'
|
||||||
|
* CHANGING data_tab = lt_file_tab ).
|
||||||
|
|
||||||
" Convert to binary
|
lcl_output=>output( lo_excel ).</source>
|
||||||
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
|
||||||
EXPORTING
|
|
||||||
buffer = lv_file
|
|
||||||
IMPORTING
|
|
||||||
output_length = lv_bytecount
|
|
||||||
TABLES
|
|
||||||
binary_tab = lt_file_tab.
|
|
||||||
* " This method is only available on AS ABAP > 6.40
|
|
||||||
* lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
|
||||||
* lv_bytecount = xstrlen( lv_file ).
|
|
||||||
|
|
||||||
" Save the file
|
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
|
||||||
filename = lv_full_path
|
|
||||||
filetype = 'BIN'
|
|
||||||
CHANGING data_tab = lt_file_tab ).</source>
|
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="iso-8859-2"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL21" VARCL="X" SUBC="1" CNAM="BCUSER" CDAT="20101127" UNAM="FEMIA" UDAT="20110528" VERN="000043" RSTAT="T" RMAND="000" RLOAD="E" FIXPT="X" SDATE="20110530" STIME="095303" IDATE="20110528" ITIME="181955" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL21" VARCL="X" SUBC="1" CNAM="BCUSER" CDAT="20101127" UNAM="K2_SCHMOECK" UDAT="20120323" VERN="000045" RSTAT="T" RMAND="000" RLOAD="E" FIXPT="X" SDATE="20120323" STIME="212113" IDATE="20120323" ITIME="212113" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="abap2xlsx Demo: Backgound Color Picker" LENGTH="38 "/>
|
<textElement ID="R" LENGTH="38 "/>
|
||||||
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
||||||
</language>
|
</language>
|
||||||
</textPool>
|
</textPool>
|
||||||
|
@ -23,7 +23,6 @@ TYPES:
|
||||||
END OF t_color_style.
|
END OF t_color_style.
|
||||||
|
|
||||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
|
||||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||||
lo_style_filled TYPE REF TO zcl_excel_style.
|
lo_style_filled TYPE REF TO zcl_excel_style.
|
||||||
|
|
||||||
|
@ -52,37 +51,12 @@ DATA: row TYPE i,
|
||||||
column TYPE zexcel_cell_column VALUE 1,
|
column TYPE zexcel_cell_column VALUE 1,
|
||||||
col_str TYPE zexcel_cell_column_alpha.
|
col_str TYPE zexcel_cell_column_alpha.
|
||||||
|
|
||||||
DATA: lv_file TYPE xstring,
|
CONSTANTS: gc_save_file_name TYPE string VALUE '21_BackgroundColorPicker.xlsx'.
|
||||||
lv_bytecount TYPE i,
|
INCLUDE zdemo_excel_outputopt_incl.
|
||||||
lt_file_tab TYPE solix_tab.
|
|
||||||
|
|
||||||
DATA: lv_full_path TYPE string,
|
|
||||||
lv_workdir TYPE string,
|
|
||||||
lv_file_separator TYPE c.
|
|
||||||
|
|
||||||
CONSTANTS: lv_default_file_name TYPE string VALUE '21_BackgroundColorPicker.xlsx'.
|
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE zexcel_export_dir.
|
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
|
||||||
lv_workdir = p_path.
|
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
|
||||||
CHANGING selected_folder = lv_workdir ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
INITIALIZATION.
|
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
|
||||||
cl_gui_cfw=>flush( ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
START-OF-SELECTION.
|
START-OF-SELECTION.
|
||||||
|
|
||||||
IF p_path IS INITIAL.
|
|
||||||
p_path = lv_workdir.
|
|
||||||
ENDIF.
|
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
|
||||||
|
|
||||||
" Creates active sheet
|
" Creates active sheet
|
||||||
CREATE OBJECT lo_excel.
|
CREATE OBJECT lo_excel.
|
||||||
|
|
||||||
|
@ -151,24 +125,8 @@ START-OF-SELECTION.
|
||||||
ADD 1 TO row.
|
ADD 1 TO row.
|
||||||
ENDDO.
|
ENDDO.
|
||||||
|
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
|
||||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
|
||||||
|
|
||||||
" Convert to binary
|
|
||||||
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
|
||||||
EXPORTING
|
|
||||||
buffer = lv_file
|
|
||||||
IMPORTING
|
|
||||||
output_length = lv_bytecount
|
|
||||||
TABLES
|
|
||||||
binary_tab = lt_file_tab.
|
|
||||||
* " This method is only available on AS ABAP > 6.40
|
|
||||||
* lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
|
||||||
* lv_bytecount = xstrlen( lv_file ).
|
|
||||||
|
|
||||||
" Save the file
|
*** Create output
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
lcl_output=>output( lo_excel ).</source>
|
||||||
filename = lv_full_path
|
|
||||||
filetype = 'BIN'
|
|
||||||
CHANGING data_tab = lt_file_tab ).</source>
|
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="iso-8859-2"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL22" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20101220" UNAM="FEMIA" UDAT="20110528" VERN="000037" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20110530" STIME="095303" IDATE="20110528" ITIME="181955" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL22" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20101220" UNAM="K2_SCHMOECK" UDAT="20120323" VERN="000039" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20120323" STIME="212256" IDATE="20120323" ITIME="212256" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="abap2xlsx Demo: Export internal table" LENGTH="37 "/>
|
<textElement ID="R" LENGTH="37 "/>
|
||||||
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
||||||
</language>
|
</language>
|
||||||
</textPool>
|
</textPool>
|
||||||
|
@ -17,7 +17,6 @@
|
||||||
REPORT zdemo_excel22.
|
REPORT zdemo_excel22.
|
||||||
|
|
||||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
|
||||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||||
lo_style TYPE REF TO zcl_excel_style,
|
lo_style TYPE REF TO zcl_excel_style,
|
||||||
lo_style_date TYPE REF TO zcl_excel_style,
|
lo_style_date TYPE REF TO zcl_excel_style,
|
||||||
|
@ -28,41 +27,18 @@ DATA: lt_field_catalog TYPE zexcel_t_fieldcatalog,
|
||||||
ls_table_settings TYPE zexcel_s_table_settings,
|
ls_table_settings TYPE zexcel_s_table_settings,
|
||||||
ls_table_settings_out TYPE zexcel_s_table_settings.
|
ls_table_settings_out TYPE zexcel_s_table_settings.
|
||||||
|
|
||||||
DATA: lv_file TYPE xstring,
|
DATA: lv_style_guid TYPE zexcel_cell_style.
|
||||||
lv_style_guid TYPE zexcel_cell_style,
|
|
||||||
lv_bytecount TYPE i,
|
|
||||||
lt_file_tab TYPE solix_tab.
|
|
||||||
|
|
||||||
DATA: lv_full_path TYPE string,
|
DATA: lv_row TYPE char10.
|
||||||
lv_workdir TYPE string,
|
|
||||||
lv_file_separator TYPE c,
|
|
||||||
lv_row TYPE char10.
|
|
||||||
|
|
||||||
FIELD-SYMBOLS: <fs_field_catalog> TYPE zexcel_s_fieldcatalog.
|
FIELD-SYMBOLS: <fs_field_catalog> TYPE zexcel_s_fieldcatalog.
|
||||||
|
|
||||||
CONSTANTS: lv_default_file_name TYPE string VALUE '22_itab_fieldcatalog.xlsx'.
|
CONSTANTS: gc_save_file_name TYPE string VALUE '22_itab_fieldcatalog.xlsx'.
|
||||||
|
INCLUDE zdemo_excel_outputopt_incl.
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE zexcel_export_dir.
|
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
|
||||||
lv_workdir = p_path.
|
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
|
||||||
CHANGING selected_folder = lv_workdir ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
INITIALIZATION.
|
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
|
||||||
cl_gui_cfw=>flush( ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
START-OF-SELECTION.
|
START-OF-SELECTION.
|
||||||
|
|
||||||
IF p_path IS INITIAL.
|
|
||||||
p_path = lv_workdir.
|
|
||||||
ENDIF.
|
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
|
||||||
|
|
||||||
" Creates active sheet
|
" Creates active sheet
|
||||||
CREATE OBJECT lo_excel.
|
CREATE OBJECT lo_excel.
|
||||||
|
|
||||||
|
@ -152,24 +128,8 @@ START-OF-SELECTION.
|
||||||
lo_data_validation->cell_row_to = ls_table_settings_out-bottom_right_row.
|
lo_data_validation->cell_row_to = ls_table_settings_out-bottom_right_row.
|
||||||
lo_data_validation->cell_column_to = ls_table_settings_out-bottom_right_column.
|
lo_data_validation->cell_column_to = ls_table_settings_out-bottom_right_column.
|
||||||
|
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
|
||||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
|
||||||
|
|
||||||
" Convert to binary
|
|
||||||
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
|
||||||
EXPORTING
|
|
||||||
buffer = lv_file
|
|
||||||
IMPORTING
|
|
||||||
output_length = lv_bytecount
|
|
||||||
TABLES
|
|
||||||
binary_tab = lt_file_tab.
|
|
||||||
* " This method is only available on AS ABAP > 6.40
|
|
||||||
* lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
|
||||||
* lv_bytecount = xstrlen( lv_file ).
|
|
||||||
|
|
||||||
" Save the file
|
*** Create output
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
lcl_output=>output( lo_excel ).</source>
|
||||||
filename = lv_full_path
|
|
||||||
filetype = 'BIN'
|
|
||||||
CHANGING data_tab = lt_file_tab ).</source>
|
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="iso-8859-2"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL23" VARCL="X" SUBC="1" CNAM="BCUSER" CDAT="20110116" UNAM="DEVELOPER" UDAT="20120109" VERN="000032" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20120109" STIME="064922" IDATE="20120109" ITIME="064922" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL23" VARCL="X" SUBC="1" CNAM="BCUSER" CDAT="20110116" UNAM="K2_SCHMOECK" UDAT="20120323" VERN="000034" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20120323" STIME="212443" IDATE="20120323" ITIME="212443" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="abap2xlsx Demo: Multiple sheets with and w/o grid lines, print options" LENGTH="70 "/>
|
<textElement ID="R" LENGTH="70 "/>
|
||||||
</language>
|
</language>
|
||||||
</textPool>
|
</textPool>
|
||||||
<source>*&---------------------------------------------------------------------*
|
<source>*&---------------------------------------------------------------------*
|
||||||
|
@ -18,40 +18,16 @@ REPORT zdemo_excel23.
|
||||||
TYPE-POOLS: abap.
|
TYPE-POOLS: abap.
|
||||||
|
|
||||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
|
||||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||||
lo_hyperlink TYPE REF TO zcl_excel_hyperlink.
|
lo_hyperlink TYPE REF TO zcl_excel_hyperlink.
|
||||||
|
|
||||||
DATA: lv_file TYPE xstring,
|
|
||||||
lv_bytecount TYPE i,
|
|
||||||
lt_file_tab TYPE solix_tab.
|
|
||||||
|
|
||||||
DATA: lv_full_path TYPE string,
|
CONSTANTS: gc_save_file_name TYPE string VALUE '23_Sheets_with_and_without_grid_lines.xlsx'.
|
||||||
lv_workdir TYPE string,
|
INCLUDE zdemo_excel_outputopt_incl.
|
||||||
lv_file_separator TYPE c.
|
|
||||||
|
|
||||||
CONSTANTS: lv_default_file_name TYPE string VALUE '23_Sheets_with_and_without_grid_lines.xlsx'.
|
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE zexcel_export_dir.
|
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
|
||||||
lv_workdir = p_path.
|
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
|
||||||
CHANGING selected_folder = lv_workdir ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
INITIALIZATION.
|
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
|
||||||
cl_gui_cfw=>flush( ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
START-OF-SELECTION.
|
START-OF-SELECTION.
|
||||||
|
|
||||||
IF p_path IS INITIAL.
|
|
||||||
p_path = lv_workdir.
|
|
||||||
ENDIF.
|
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
|
||||||
|
|
||||||
" Creates active sheet
|
" Creates active sheet
|
||||||
CREATE OBJECT lo_excel.
|
CREATE OBJECT lo_excel.
|
||||||
|
@ -116,24 +92,8 @@ START-OF-SELECTION.
|
||||||
" lo_worksheet->sheet_setup->vertical_centered = abap_true.
|
" lo_worksheet->sheet_setup->vertical_centered = abap_true.
|
||||||
lo_worksheet->sheet_setup->horizontal_centered = abap_true.
|
lo_worksheet->sheet_setup->horizontal_centered = abap_true.
|
||||||
|
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
|
||||||
lv_file = lo_excel_writer->write_file( io_excel = lo_excel ).
|
|
||||||
|
|
||||||
" Convert to binary
|
|
||||||
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
|
||||||
EXPORTING
|
|
||||||
buffer = lv_file
|
|
||||||
IMPORTING
|
|
||||||
output_length = lv_bytecount
|
|
||||||
TABLES
|
|
||||||
binary_tab = lt_file_tab.
|
|
||||||
* " This method is only available on AS ABAP > 6.40
|
|
||||||
* lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
|
||||||
* lv_bytecount = xstrlen( lv_file ).
|
|
||||||
|
|
||||||
" Save the file
|
*** Create output
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
lcl_output=>output( lo_excel ).</source>
|
||||||
filename = lv_full_path
|
|
||||||
filetype = 'BIN'
|
|
||||||
CHANGING data_tab = lt_file_tab ).</source>
|
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="iso-8859-2"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL24" VARCL="X" SUBC="1" CNAM="BCUSER" CDAT="20110129" UNAM="FEMIA" UDAT="20110528" VERN="000027" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20110530" STIME="095303" IDATE="20110528" ITIME="181955" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL24" VARCL="X" SUBC="1" CNAM="BCUSER" CDAT="20110129" UNAM="K2_SCHMOECK" UDAT="20120323" VERN="000029" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20120323" STIME="212638" IDATE="20120323" ITIME="212638" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="abap2xlsx Demo: Multiple sheets with different default date formats" LENGTH="70 "/>
|
<textElement ID="R" LENGTH="70 "/>
|
||||||
</language>
|
</language>
|
||||||
</textPool>
|
</textPool>
|
||||||
<source>*&---------------------------------------------------------------------*
|
<source>*&---------------------------------------------------------------------*
|
||||||
|
@ -18,7 +18,6 @@ REPORT zdemo_excel24.
|
||||||
TYPE-POOLS: abap.
|
TYPE-POOLS: abap.
|
||||||
|
|
||||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
|
||||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||||
column_dimension TYPE REF TO zcl_excel_worksheet_columndime,
|
column_dimension TYPE REF TO zcl_excel_worksheet_columndime,
|
||||||
lo_hyperlink TYPE REF TO zcl_excel_hyperlink.
|
lo_hyperlink TYPE REF TO zcl_excel_hyperlink.
|
||||||
|
@ -33,29 +32,12 @@ DATA: lv_full_path TYPE string,
|
||||||
|
|
||||||
DATA: lv_value TYPE string.
|
DATA: lv_value TYPE string.
|
||||||
|
|
||||||
CONSTANTS: lv_default_file_name TYPE string VALUE '24_Sheets_with_different_default_date_formats.xlsx'.
|
CONSTANTS: gc_save_file_name TYPE string VALUE '24_Sheets_with_different_default_date_formats.xlsx'.
|
||||||
|
INCLUDE zdemo_excel_outputopt_incl.
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE zexcel_export_dir.
|
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
|
||||||
lv_workdir = p_path.
|
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
|
||||||
CHANGING selected_folder = lv_workdir ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
INITIALIZATION.
|
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
|
||||||
cl_gui_cfw=>flush( ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
START-OF-SELECTION.
|
START-OF-SELECTION.
|
||||||
|
|
||||||
IF p_path IS INITIAL.
|
|
||||||
p_path = lv_workdir.
|
|
||||||
ENDIF.
|
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
|
||||||
|
|
||||||
" Creates active sheet
|
" Creates active sheet
|
||||||
CREATE OBJECT lo_excel.
|
CREATE OBJECT lo_excel.
|
||||||
|
|
||||||
|
@ -102,24 +84,8 @@ START-OF-SELECTION.
|
||||||
|
|
||||||
lo_excel->set_active_sheet_index_by_name( 'Sheet1' ).
|
lo_excel->set_active_sheet_index_by_name( 'Sheet1' ).
|
||||||
|
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
|
||||||
lv_file = lo_excel_writer->write_file( io_excel = lo_excel ).
|
|
||||||
|
|
||||||
" Convert to binary
|
|
||||||
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
|
||||||
EXPORTING
|
|
||||||
buffer = lv_file
|
|
||||||
IMPORTING
|
|
||||||
output_length = lv_bytecount
|
|
||||||
TABLES
|
|
||||||
binary_tab = lt_file_tab.
|
|
||||||
* " This method is only available on AS ABAP > 6.40
|
|
||||||
* lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
|
||||||
* lv_bytecount = xstrlen( lv_file ).
|
|
||||||
|
|
||||||
" Save the file
|
*** Create output
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
lcl_output=>output( lo_excel ).</source>
|
||||||
filename = lv_full_path
|
|
||||||
filetype = 'BIN'
|
|
||||||
CHANGING data_tab = lt_file_tab ).</source>
|
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="iso-8859-2"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL27" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="FEMIA" UDAT="20110528" VERN="000053" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20110530" STIME="111409" IDATE="20110528" ITIME="181955" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL27" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="K2_SCHMOECK" UDAT="20120323" VERN="000055" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20120323" STIME="212922" IDATE="20120323" ITIME="212922" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="abap2xlsx Demo: Data conditional formatting with styles" LENGTH="55 "/>
|
<textElement ID="R" LENGTH="55 "/>
|
||||||
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="24 "/>
|
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="24 "/>
|
||||||
<textElement ID="S" KEY="P_READER" ENTRY=" Write back after using Reader" LENGTH="37 "/>
|
<textElement ID="S" KEY="P_READER" ENTRY=" Write back after using Reader" LENGTH="37 "/>
|
||||||
</language>
|
</language>
|
||||||
|
@ -20,7 +20,6 @@ REPORT zdemo_excel27.
|
||||||
CONSTANTS: c_fish TYPE string VALUE 'Fish'.
|
CONSTANTS: c_fish TYPE string VALUE 'Fish'.
|
||||||
|
|
||||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
|
||||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||||
lo_range TYPE REF TO zcl_excel_range,
|
lo_range TYPE REF TO zcl_excel_range,
|
||||||
lo_data_validation TYPE REF TO zcl_excel_data_validation,
|
lo_data_validation TYPE REF TO zcl_excel_data_validation,
|
||||||
|
@ -31,37 +30,15 @@ DATA: lo_excel TYPE REF TO zcl_excel,
|
||||||
lv_style_2_guid TYPE zexcel_cell_style,
|
lv_style_2_guid TYPE zexcel_cell_style,
|
||||||
ls_cellis TYPE zexcel_conditional_cellis.
|
ls_cellis TYPE zexcel_conditional_cellis.
|
||||||
|
|
||||||
DATA: lv_file TYPE xstring,
|
|
||||||
lv_bytecount TYPE i,
|
|
||||||
lt_file_tab TYPE solix_tab.
|
|
||||||
|
|
||||||
DATA: lv_full_path TYPE string,
|
DATA: lv_title TYPE zexcel_sheet_title.
|
||||||
lv_workdir TYPE string,
|
|
||||||
lv_title TYPE zexcel_sheet_title,
|
|
||||||
lv_file_separator TYPE c.
|
|
||||||
|
|
||||||
CONSTANTS: lv_default_file_name TYPE string VALUE '27_ConditionalFormatting.xlsx'.
|
CONSTANTS: gc_save_file_name TYPE string VALUE '27_ConditionalFormatting.xlsx'.
|
||||||
|
INCLUDE zdemo_excel_outputopt_incl.
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE zexcel_export_dir.
|
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
|
||||||
lv_workdir = p_path.
|
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
|
||||||
CHANGING selected_folder = lv_workdir ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
INITIALIZATION.
|
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
|
||||||
cl_gui_cfw=>flush( ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
START-OF-SELECTION.
|
START-OF-SELECTION.
|
||||||
|
|
||||||
IF p_path IS INITIAL.
|
|
||||||
p_path = lv_workdir.
|
|
||||||
ENDIF.
|
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
|
||||||
|
|
||||||
" Creates active sheet
|
" Creates active sheet
|
||||||
CREATE OBJECT lo_excel.
|
CREATE OBJECT lo_excel.
|
||||||
|
@ -130,24 +107,7 @@ START-OF-SELECTION.
|
||||||
ip_stop_row = 2 ).
|
ip_stop_row = 2 ).
|
||||||
|
|
||||||
|
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
|
||||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
|
||||||
|
|
||||||
" Convert to binary
|
*** Create output
|
||||||
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
lcl_output=>output( lo_excel ).</source>
|
||||||
EXPORTING
|
|
||||||
buffer = lv_file
|
|
||||||
IMPORTING
|
|
||||||
output_length = lv_bytecount
|
|
||||||
TABLES
|
|
||||||
binary_tab = lt_file_tab.
|
|
||||||
* " This method is only available on AS ABAP > 6.40
|
|
||||||
* lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
|
||||||
* lv_bytecount = xstrlen( lv_file ).
|
|
||||||
|
|
||||||
" Save the file
|
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
|
||||||
filename = lv_full_path
|
|
||||||
filetype = 'BIN'
|
|
||||||
CHANGING data_tab = lt_file_tab ).</source>
|
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="iso-8859-2"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL3" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="FEMIA" UDAT="20110528" VERN="000045" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20110530" STIME="095303" IDATE="20110528" ITIME="181955" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL3" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="K2_SCHMOECK" UDAT="20120322" VERN="000047" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20120323" STIME="211219" IDATE="20120322" ITIME="000406" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="abap2xlsx Demo: Export internal table" LENGTH="37 "/>
|
<textElement ID="R" LENGTH="37 "/>
|
||||||
<textElement ID="S" KEY="P_EMPTY" ENTRY=" Leave Table Empty" LENGTH="25 "/>
|
<textElement ID="S" KEY="P_EMPTY" ENTRY=" Leave Table Empty" LENGTH="25 "/>
|
||||||
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="24 "/>
|
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="24 "/>
|
||||||
</language>
|
</language>
|
||||||
|
@ -20,19 +20,11 @@ REPORT zdemo_excel3.
|
||||||
TYPE-POOLS: abap.
|
TYPE-POOLS: abap.
|
||||||
|
|
||||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
|
||||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||||
column_dimension TYPE REF TO zcl_excel_worksheet_columndime.
|
column_dimension TYPE REF TO zcl_excel_worksheet_columndime.
|
||||||
|
|
||||||
DATA: ls_table_settings TYPE zexcel_s_table_settings.
|
DATA: ls_table_settings TYPE zexcel_s_table_settings.
|
||||||
|
|
||||||
DATA: lv_file TYPE xstring,
|
|
||||||
lv_bytecount TYPE i,
|
|
||||||
lt_file_tab TYPE solix_tab.
|
|
||||||
|
|
||||||
DATA: lv_full_path TYPE string,
|
|
||||||
lv_workdir TYPE string,
|
|
||||||
lv_file_separator TYPE c.
|
|
||||||
|
|
||||||
DATA: lv_title TYPE zexcel_sheet_title,
|
DATA: lv_title TYPE zexcel_sheet_title,
|
||||||
lt_carr TYPE TABLE OF scarr,
|
lt_carr TYPE TABLE OF scarr,
|
||||||
|
@ -42,30 +34,14 @@ DATA: lo_data_validation TYPE REF TO zcl_excel_data_validation.
|
||||||
FIELD-SYMBOLS: <carr> LIKE LINE OF lt_carr.
|
FIELD-SYMBOLS: <carr> LIKE LINE OF lt_carr.
|
||||||
|
|
||||||
CONSTANTS: c_airlines TYPE string VALUE 'Airlines'.
|
CONSTANTS: c_airlines TYPE string VALUE 'Airlines'.
|
||||||
CONSTANTS: lv_default_file_name TYPE string VALUE '03_iTab.xlsx'.
|
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE zexcel_export_dir,
|
|
||||||
p_empty TYPE flag.
|
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
CONSTANTS: gc_save_file_name TYPE string VALUE '03_iTab.xlsx'.
|
||||||
lv_workdir = p_path.
|
INCLUDE zdemo_excel_outputopt_incl.
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
|
||||||
CHANGING selected_folder = lv_workdir ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
INITIALIZATION.
|
PARAMETERS: p_empty TYPE flag.
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
|
||||||
cl_gui_cfw=>flush( ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
START-OF-SELECTION.
|
START-OF-SELECTION.
|
||||||
|
|
||||||
IF p_path IS INITIAL.
|
|
||||||
p_path = lv_workdir.
|
|
||||||
ENDIF.
|
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
|
||||||
|
|
||||||
" Creates active sheet
|
" Creates active sheet
|
||||||
CREATE OBJECT lo_excel.
|
CREATE OBJECT lo_excel.
|
||||||
|
|
||||||
|
@ -117,25 +93,6 @@ START-OF-SELECTION.
|
||||||
lo_data_validation->cell_row = 4.
|
lo_data_validation->cell_row = 4.
|
||||||
lo_data_validation->cell_column = 'C'.
|
lo_data_validation->cell_column = 'C'.
|
||||||
|
|
||||||
" Write to Excel 2007
|
*** Create output
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
lcl_output=>output( lo_excel ).</source>
|
||||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
|
||||||
|
|
||||||
" Convert to binary
|
|
||||||
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
|
||||||
EXPORTING
|
|
||||||
buffer = lv_file
|
|
||||||
IMPORTING
|
|
||||||
output_length = lv_bytecount
|
|
||||||
TABLES
|
|
||||||
binary_tab = lt_file_tab.
|
|
||||||
* " This method is only available on AS ABAP > 6.40
|
|
||||||
* lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
|
||||||
* lv_bytecount = xstrlen( lv_file ).
|
|
||||||
|
|
||||||
" Save the file
|
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
|
||||||
filename = lv_full_path
|
|
||||||
filetype = 'BIN'
|
|
||||||
CHANGING data_tab = lt_file_tab ).</source>
|
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="iso-8859-2"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL30" VARCL="X" SUBC="1" CNAM="BCUSER" CDAT="20110821" UNAM="DEVELOPER" UDAT="20120102" VERN="000035" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20120102" STIME="221336" IDATE="20120102" ITIME="221336" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL30" VARCL="X" SUBC="1" CNAM="BCUSER" CDAT="20110821" UNAM="K2_SCHMOECK" UDAT="20120323" VERN="000037" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20120323" STIME="213724" IDATE="20120323" ITIME="213724" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="abap2xlsx Demo: ABAP Cell data types" LENGTH="36 "/>
|
<textElement ID="R" LENGTH="36 "/>
|
||||||
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
||||||
</language>
|
</language>
|
||||||
</textPool>
|
</textPool>
|
||||||
|
@ -17,50 +17,26 @@
|
||||||
REPORT zdemo_excel30.
|
REPORT zdemo_excel30.
|
||||||
|
|
||||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
|
||||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||||
lo_hyperlink TYPE REF TO zcl_excel_hyperlink,
|
lo_hyperlink TYPE REF TO zcl_excel_hyperlink,
|
||||||
column_dimension TYPE REF TO zcl_excel_worksheet_columndime.
|
column_dimension TYPE REF TO zcl_excel_worksheet_columndime.
|
||||||
|
|
||||||
DATA: lv_file TYPE xstring,
|
|
||||||
lv_bytecount TYPE i,
|
|
||||||
lt_file_tab TYPE solix_tab.
|
|
||||||
|
|
||||||
DATA: lv_full_path TYPE string,
|
|
||||||
lv_workdir TYPE string,
|
|
||||||
lv_file_separator TYPE c.
|
|
||||||
|
|
||||||
DATA: lv_value TYPE string,
|
DATA: lv_value TYPE string,
|
||||||
lv_count TYPE i VALUE 10,
|
lv_count TYPE i VALUE 10,
|
||||||
lv_packed TYPE p LENGTH 16 DECIMALS 1 VALUE '1234567890.5'.
|
lv_packed TYPE p LENGTH 16 DECIMALS 1 VALUE '1234567890.5'.
|
||||||
|
|
||||||
CONSTANTS: lv_default_file_name TYPE string VALUE '30_CellDataTypes.xlsx',
|
CONSTANTS: lc_typekind_string TYPE abap_typekind VALUE cl_abap_typedescr=>typekind_string,
|
||||||
lc_typekind_string TYPE abap_typekind VALUE cl_abap_typedescr=>typekind_string,
|
|
||||||
lc_typekind_packed TYPE abap_typekind VALUE cl_abap_typedescr=>typekind_packed,
|
lc_typekind_packed TYPE abap_typekind VALUE cl_abap_typedescr=>typekind_packed,
|
||||||
lc_typekind_num TYPE abap_typekind VALUE cl_abap_typedescr=>typekind_num,
|
lc_typekind_num TYPE abap_typekind VALUE cl_abap_typedescr=>typekind_num,
|
||||||
lc_typekind_date TYPE abap_typekind VALUE cl_abap_typedescr=>typekind_date.
|
lc_typekind_date TYPE abap_typekind VALUE cl_abap_typedescr=>typekind_date.
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE zexcel_export_dir.
|
CONSTANTS: gc_save_file_name TYPE string VALUE '30_CellDataTypes.xlsx'.
|
||||||
|
INCLUDE zdemo_excel_outputopt_incl.
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
|
||||||
lv_workdir = p_path.
|
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
|
||||||
CHANGING selected_folder = lv_workdir ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
INITIALIZATION.
|
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
|
||||||
cl_gui_cfw=>flush( ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
START-OF-SELECTION.
|
START-OF-SELECTION.
|
||||||
|
|
||||||
IF p_path IS INITIAL.
|
|
||||||
p_path = lv_workdir.
|
|
||||||
ENDIF.
|
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
|
||||||
|
|
||||||
" Creates active sheet
|
" Creates active sheet
|
||||||
CREATE OBJECT lo_excel.
|
CREATE OBJECT lo_excel.
|
||||||
|
|
||||||
|
@ -121,24 +97,9 @@ START-OF-SELECTION.
|
||||||
column_dimension = lo_worksheet->get_column_dimension( ip_column = 'E' ).
|
column_dimension = lo_worksheet->get_column_dimension( ip_column = 'E' ).
|
||||||
column_dimension->set_auto_size( abap_true ).
|
column_dimension->set_auto_size( abap_true ).
|
||||||
|
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
|
||||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
|
||||||
|
|
||||||
" Convert to binary
|
|
||||||
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
|
||||||
EXPORTING
|
|
||||||
buffer = lv_file
|
|
||||||
IMPORTING
|
|
||||||
output_length = lv_bytecount
|
|
||||||
TABLES
|
|
||||||
binary_tab = lt_file_tab.
|
|
||||||
* " This method is only available on AS ABAP > 6.40
|
|
||||||
* lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
|
||||||
* lv_bytecount = xstrlen( lv_file ).
|
|
||||||
|
|
||||||
" Save the file
|
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
*** Create output
|
||||||
filename = lv_full_path
|
lcl_output=>output( lo_excel ).</source>
|
||||||
filetype = 'BIN'
|
|
||||||
CHANGING data_tab = lt_file_tab ).</source>
|
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="iso-8859-2"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL31" VARCL="X" SUBC="1" CNAM="BCUSER" CDAT="20110929" UNAM="RTURNHEIM" UDAT="20120212" VERN="000035" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20120212" STIME="145927" IDATE="20120212" ITIME="145927" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL31" VARCL="X" SUBC="1" CNAM="BCUSER" CDAT="20110929" UNAM="K2_SCHMOECK" UDAT="20120323" VERN="000037" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20120323" STIME="214517" IDATE="20120323" ITIME="214517" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="abap2xlsx Demo: Autosize Column with different Font sizes" LENGTH="57 "/>
|
<textElement ID="R" LENGTH="57 "/>
|
||||||
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
||||||
</language>
|
</language>
|
||||||
</textPool>
|
</textPool>
|
||||||
|
@ -17,18 +17,10 @@
|
||||||
REPORT zdemo_excel31.
|
REPORT zdemo_excel31.
|
||||||
|
|
||||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
|
||||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||||
lo_hyperlink TYPE REF TO zcl_excel_hyperlink,
|
lo_hyperlink TYPE REF TO zcl_excel_hyperlink,
|
||||||
column_dimension TYPE REF TO zcl_excel_worksheet_columndime.
|
column_dimension TYPE REF TO zcl_excel_worksheet_columndime.
|
||||||
|
|
||||||
DATA: lv_file TYPE xstring,
|
|
||||||
lv_bytecount TYPE i,
|
|
||||||
lt_file_tab TYPE solix_tab.
|
|
||||||
|
|
||||||
DATA: lv_full_path TYPE string,
|
|
||||||
lv_workdir TYPE string,
|
|
||||||
lv_file_separator TYPE c.
|
|
||||||
|
|
||||||
DATA: fieldval TYPE text80,
|
DATA: fieldval TYPE text80,
|
||||||
row TYPE i,
|
row TYPE i,
|
||||||
|
@ -37,29 +29,12 @@ DATA: fieldval TYPE text80,
|
||||||
style_column_c TYPE REF TO zcl_excel_style,
|
style_column_c TYPE REF TO zcl_excel_style,
|
||||||
style_column_c_guid TYPE zexcel_cell_style.
|
style_column_c_guid TYPE zexcel_cell_style.
|
||||||
|
|
||||||
CONSTANTS: lv_default_file_name TYPE string VALUE '31_AutosizeWithDifferentFontSizes.xlsx'.
|
CONSTANTS: gc_save_file_name TYPE string VALUE '31_AutosizeWithDifferentFontSizes.xlsx'.
|
||||||
|
INCLUDE zdemo_excel_outputopt_incl.
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE zexcel_export_dir.
|
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
|
||||||
lv_workdir = p_path.
|
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
|
||||||
CHANGING selected_folder = lv_workdir ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
INITIALIZATION.
|
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
|
||||||
cl_gui_cfw=>flush( ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
START-OF-SELECTION.
|
START-OF-SELECTION.
|
||||||
|
|
||||||
IF p_path IS INITIAL.
|
|
||||||
p_path = lv_workdir.
|
|
||||||
ENDIF.
|
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
|
||||||
|
|
||||||
" Creates active sheet
|
" Creates active sheet
|
||||||
CREATE OBJECT lo_excel.
|
CREATE OBJECT lo_excel.
|
||||||
lo_worksheet = lo_excel->get_active_worksheet( ).
|
lo_worksheet = lo_excel->get_active_worksheet( ).
|
||||||
|
@ -92,42 +67,9 @@ START-OF-SELECTION.
|
||||||
column_dimension = lo_worksheet->get_column_dimension( 'C' ).
|
column_dimension = lo_worksheet->get_column_dimension( 'C' ).
|
||||||
column_dimension->set_auto_size( ip_auto_size = abap_true ).
|
column_dimension->set_auto_size( ip_auto_size = abap_true ).
|
||||||
|
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
|
||||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
|
||||||
|
|
||||||
lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
|
||||||
lv_bytecount = XSTRLEN( lv_file ).
|
|
||||||
|
|
||||||
* DATA: error TYPE REF TO i_oi_error,
|
|
||||||
* t_errors TYPE STANDARD TABLE OF REF TO i_oi_error WITH NON-UNIQUE DEFAULT KEY,
|
|
||||||
* cl_control TYPE REF TO i_oi_container_control,"OIContainerCtrl
|
|
||||||
* cl_document TYPE REF TO i_oi_document_proxy. "Office Dokument
|
|
||||||
*
|
|
||||||
* c_oi_container_control_creator=>get_container_control( IMPORTING control = cl_control
|
|
||||||
* error = error ).
|
|
||||||
* APPEND error TO t_errors.
|
|
||||||
*
|
|
||||||
* cl_control->init_control( EXPORTING inplace_enabled = 'X'
|
|
||||||
* no_flush = 'X'
|
|
||||||
* r3_application_name = 'Demo Document Container'
|
|
||||||
* parent = cl_gui_container=>screen0
|
|
||||||
* IMPORTING error = error
|
|
||||||
* EXCEPTIONS OTHERS = 2 ).
|
|
||||||
* APPEND error TO t_errors.
|
|
||||||
*
|
|
||||||
* cl_control->get_document_proxy( EXPORTING document_type = 'Excel.Sheet' " EXCEL
|
|
||||||
* no_flush = ' '
|
|
||||||
* IMPORTING document_proxy = cl_document
|
|
||||||
* error = error ).
|
|
||||||
* APPEND error TO t_errors.
|
|
||||||
** Errorhandling should be inserted here
|
|
||||||
*
|
|
||||||
* cl_document->open_document_from_table( EXPORTING document_size = lv_bytecount
|
|
||||||
* document_table = lt_file_tab ).
|
|
||||||
|
|
||||||
" Save the file
|
*** Create output
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
lcl_output=>output( lo_excel ).</source>
|
||||||
filename = lv_full_path
|
|
||||||
filetype = 'BIN'
|
|
||||||
CHANGING data_tab = lt_file_tab ).</source>
|
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="iso-8859-2"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL33" VARCL="X" SUBC="1" CNAM="RTURNHEIM" CDAT="20120311" UNAM="RTURNHEIM" UDAT="20120313" VERN="000024" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20120316" STIME="030233" IDATE="20120313" ITIME="160944" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL33" VARCL="X" SUBC="1" CNAM="RTURNHEIM" CDAT="20120311" UNAM="K2_SCHMOECK" UDAT="20120323" VERN="000026" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20120323" STIME="215056" IDATE="20120323" ITIME="215056" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="abap2xlsx Demo: Autofilter" LENGTH="26 "/>
|
<textElement ID="R" LENGTH="26 "/>
|
||||||
<textElement ID="S" KEY="P_EMPTY" ENTRY=" Leave Table Empty" LENGTH="25 "/>
|
<textElement ID="S" KEY="P_EMPTY" ENTRY=" Leave Table Empty" LENGTH="25 "/>
|
||||||
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="24 "/>
|
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="24 "/>
|
||||||
</language>
|
</language>
|
||||||
|
@ -20,21 +20,12 @@ REPORT zdemo_excel33.
|
||||||
TYPE-POOLS: abap.
|
TYPE-POOLS: abap.
|
||||||
|
|
||||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
|
||||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||||
lo_converter TYPE REF TO zcl_excel_converter,
|
lo_converter TYPE REF TO zcl_excel_converter,
|
||||||
lo_autofilter TYPE REF TO zcl_excel_autofilter.
|
lo_autofilter TYPE REF TO zcl_excel_autofilter.
|
||||||
|
|
||||||
DATA lt_test TYPE TABLE OF sflight.
|
DATA lt_test TYPE TABLE OF sflight.
|
||||||
|
|
||||||
DATA: lv_file TYPE xstring,
|
|
||||||
lv_bytecount TYPE i,
|
|
||||||
lt_file_tab TYPE solix_tab.
|
|
||||||
|
|
||||||
DATA: lv_full_path TYPE string,
|
|
||||||
lv_workdir TYPE string,
|
|
||||||
lv_file_separator TYPE c.
|
|
||||||
|
|
||||||
DATA: lv_title TYPE zexcel_sheet_title,
|
DATA: lv_title TYPE zexcel_sheet_title,
|
||||||
lt_carr TYPE TABLE OF scarr,
|
lt_carr TYPE TABLE OF scarr,
|
||||||
row TYPE zexcel_cell_row VALUE 2,
|
row TYPE zexcel_cell_row VALUE 2,
|
||||||
|
@ -50,29 +41,13 @@ FIELD-SYMBOLS: <fs_test> TYPE sflight,
|
||||||
<fs_fldval> TYPE ANY.
|
<fs_fldval> TYPE ANY.
|
||||||
|
|
||||||
CONSTANTS: c_airlines TYPE string VALUE 'Airlines'.
|
CONSTANTS: c_airlines TYPE string VALUE 'Airlines'.
|
||||||
CONSTANTS: lv_default_file_name TYPE string VALUE '33_autofilter.xlsx'.
|
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE zexcel_export_dir.
|
CONSTANTS: gc_save_file_name TYPE string VALUE '33_autofilter.xlsx'.
|
||||||
|
INCLUDE zdemo_excel_outputopt_incl.
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
|
||||||
lv_workdir = p_path.
|
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
|
||||||
CHANGING selected_folder = lv_workdir ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
INITIALIZATION.
|
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
|
||||||
cl_gui_cfw=>flush( ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
START-OF-SELECTION.
|
START-OF-SELECTION.
|
||||||
|
|
||||||
IF p_path IS INITIAL.
|
|
||||||
p_path = lv_workdir.
|
|
||||||
ENDIF.
|
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
|
||||||
|
|
||||||
" Creates active sheet
|
" Creates active sheet
|
||||||
CREATE OBJECT lo_excel.
|
CREATE OBJECT lo_excel.
|
||||||
|
|
||||||
|
@ -110,25 +85,7 @@ START-OF-SELECTION.
|
||||||
lo_autofilter->set_value( i_column = 3
|
lo_autofilter->set_value( i_column = 3
|
||||||
i_value = l_cell_value ).
|
i_value = l_cell_value ).
|
||||||
|
|
||||||
" Write to Excel 2007
|
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
|
||||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
|
||||||
|
|
||||||
" Convert to binary
|
*** Create output
|
||||||
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
lcl_output=>output( lo_excel ).</source>
|
||||||
EXPORTING
|
|
||||||
buffer = lv_file
|
|
||||||
IMPORTING
|
|
||||||
output_length = lv_bytecount
|
|
||||||
TABLES
|
|
||||||
binary_tab = lt_file_tab.
|
|
||||||
* " This method is only available on AS ABAP > 6.40
|
|
||||||
* lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
|
||||||
* lv_bytecount = xstrlen( lv_file ).
|
|
||||||
|
|
||||||
" Save the file
|
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
|
||||||
filename = lv_full_path
|
|
||||||
filetype = 'BIN'
|
|
||||||
CHANGING data_tab = lt_file_tab ).</source>
|
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="iso-8859-2"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL4" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="FEMIA" UDAT="20120316" VERN="000046" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20120316" STIME="090807" IDATE="20120316" ITIME="090807" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL4" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="K2_SCHMOECK" UDAT="20120322" VERN="000048" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20120323" STIME="211219" IDATE="20120322" ITIME="001745" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="abap2xlsx Demo: Create XLXS with multiple sheets" LENGTH="48 "/>
|
<textElement ID="R" LENGTH="48 "/>
|
||||||
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
||||||
</language>
|
</language>
|
||||||
</textPool>
|
</textPool>
|
||||||
|
@ -17,44 +17,18 @@
|
||||||
REPORT zdemo_excel4.
|
REPORT zdemo_excel4.
|
||||||
|
|
||||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
|
||||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||||
lo_hyperlink TYPE REF TO zcl_excel_hyperlink.
|
lo_hyperlink TYPE REF TO zcl_excel_hyperlink.
|
||||||
|
|
||||||
DATA: lv_file TYPE xstring,
|
|
||||||
lv_bytecount TYPE i,
|
|
||||||
lt_file_tab TYPE solix_tab.
|
|
||||||
|
|
||||||
DATA: lv_full_path TYPE string,
|
|
||||||
lv_workdir TYPE string,
|
|
||||||
lv_file_separator TYPE c.
|
|
||||||
|
|
||||||
DATA: ls_header TYPE zexcel_s_worksheet_head_foot,
|
DATA: ls_header TYPE zexcel_s_worksheet_head_foot,
|
||||||
ls_footer TYPE zexcel_s_worksheet_head_foot.
|
ls_footer TYPE zexcel_s_worksheet_head_foot.
|
||||||
|
|
||||||
CONSTANTS: lv_default_file_name TYPE string VALUE '04_Sheets.xlsx'.
|
CONSTANTS: gc_save_file_name TYPE string VALUE '04_Sheets.xlsx'.
|
||||||
|
INCLUDE zdemo_excel_outputopt_incl.
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE zexcel_export_dir.
|
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
|
||||||
lv_workdir = p_path.
|
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
|
||||||
CHANGING selected_folder = lv_workdir ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
INITIALIZATION.
|
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
|
||||||
cl_gui_cfw=>flush( ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
START-OF-SELECTION.
|
START-OF-SELECTION.
|
||||||
|
|
||||||
IF p_path IS INITIAL.
|
|
||||||
p_path = lv_workdir.
|
|
||||||
ENDIF.
|
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
|
||||||
|
|
||||||
" Creates active sheet
|
" Creates active sheet
|
||||||
CREATE OBJECT lo_excel.
|
CREATE OBJECT lo_excel.
|
||||||
|
|
||||||
|
@ -121,24 +95,7 @@ START-OF-SELECTION.
|
||||||
|
|
||||||
lo_excel->set_active_sheet_index_by_name( 'Sheet1' ).
|
lo_excel->set_active_sheet_index_by_name( 'Sheet1' ).
|
||||||
|
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
|
||||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
|
||||||
|
|
||||||
" Convert to binary
|
*** Create output
|
||||||
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
lcl_output=>output( lo_excel ).</source>
|
||||||
EXPORTING
|
|
||||||
buffer = lv_file
|
|
||||||
IMPORTING
|
|
||||||
output_length = lv_bytecount
|
|
||||||
TABLES
|
|
||||||
binary_tab = lt_file_tab.
|
|
||||||
* " This method is only available on AS ABAP > 6.40
|
|
||||||
* lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
|
||||||
* lv_bytecount = xstrlen( lv_file ).
|
|
||||||
|
|
||||||
" Save the file
|
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
|
||||||
filename = lv_full_path
|
|
||||||
filetype = 'BIN'
|
|
||||||
CHANGING data_tab = lt_file_tab ).</source>
|
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="iso-8859-2"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL6" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="FEMIA" UDAT="20110528" VERN="000036" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20110530" STIME="095303" IDATE="20110528" ITIME="181955" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL6" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="K2_SCHMOECK" UDAT="20120322" VERN="000038" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20120323" STIME="211219" IDATE="20120322" ITIME="230512" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="abap2xlsx Demo: Formulas" LENGTH="24 "/>
|
<textElement ID="R" LENGTH="24 "/>
|
||||||
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
||||||
</language>
|
</language>
|
||||||
</textPool>
|
</textPool>
|
||||||
|
@ -17,40 +17,15 @@
|
||||||
REPORT zdemo_excel6.
|
REPORT zdemo_excel6.
|
||||||
|
|
||||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
|
||||||
lo_worksheet TYPE REF TO zcl_excel_worksheet.
|
lo_worksheet TYPE REF TO zcl_excel_worksheet.
|
||||||
|
|
||||||
DATA: lv_file TYPE xstring,
|
|
||||||
lv_bytecount TYPE i,
|
|
||||||
lt_file_tab TYPE solix_tab.
|
|
||||||
|
|
||||||
DATA: lv_full_path TYPE string,
|
CONSTANTS: gc_save_file_name TYPE string VALUE '06_Formulas.xlsx'.
|
||||||
lv_workdir TYPE string,
|
INCLUDE zdemo_excel_outputopt_incl.
|
||||||
lv_file_separator TYPE c.
|
|
||||||
|
|
||||||
CONSTANTS: lv_default_file_name TYPE string VALUE '06_Formulas.xlsx'.
|
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE zexcel_export_dir.
|
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
|
||||||
lv_workdir = p_path.
|
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
|
||||||
CHANGING selected_folder = lv_workdir ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
INITIALIZATION.
|
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
|
||||||
cl_gui_cfw=>flush( ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
START-OF-SELECTION.
|
START-OF-SELECTION.
|
||||||
|
|
||||||
IF p_path IS INITIAL.
|
|
||||||
p_path = lv_workdir.
|
|
||||||
ENDIF.
|
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
|
||||||
|
|
||||||
CREATE OBJECT lo_excel.
|
CREATE OBJECT lo_excel.
|
||||||
|
|
||||||
" Get active sheet
|
" Get active sheet
|
||||||
|
@ -63,24 +38,7 @@ START-OF-SELECTION.
|
||||||
lo_worksheet->set_cell( ip_row = 8 ip_column = 'C' ip_value = 500 ).
|
lo_worksheet->set_cell( ip_row = 8 ip_column = 'C' ip_value = 500 ).
|
||||||
lo_worksheet->set_cell( ip_row = 9 ip_column = 'C' ip_formula = 'SUM(C4:C8)' ).
|
lo_worksheet->set_cell( ip_row = 9 ip_column = 'C' ip_formula = 'SUM(C4:C8)' ).
|
||||||
|
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
|
||||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
|
||||||
|
|
||||||
" Convert to binary
|
*** Create output
|
||||||
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
lcl_output=>output( lo_excel ).</source>
|
||||||
EXPORTING
|
|
||||||
buffer = lv_file
|
|
||||||
IMPORTING
|
|
||||||
output_length = lv_bytecount
|
|
||||||
TABLES
|
|
||||||
binary_tab = lt_file_tab.
|
|
||||||
* " This method is only available on AS ABAP > 6.40
|
|
||||||
* lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
|
||||||
* lv_bytecount = xstrlen( lv_file ).
|
|
||||||
|
|
||||||
" Save the file
|
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
|
||||||
filename = lv_full_path
|
|
||||||
filetype = 'BIN'
|
|
||||||
CHANGING data_tab = lt_file_tab ).</source>
|
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="iso-8859-2"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL7" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="FEMIA" UDAT="20110528" VERN="000035" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20110530" STIME="111409" IDATE="20110528" ITIME="181955" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL7" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="K2_SCHMOECK" UDAT="20120322" VERN="000037" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20120323" STIME="211219" IDATE="20120322" ITIME="233350" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="abap2xlsx Demo: All conditional formating possibilities" LENGTH="55 "/>
|
<textElement ID="R" LENGTH="55 "/>
|
||||||
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
||||||
</language>
|
</language>
|
||||||
</textPool>
|
</textPool>
|
||||||
|
@ -17,7 +17,6 @@
|
||||||
REPORT zdemo_excel7.
|
REPORT zdemo_excel7.
|
||||||
|
|
||||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
|
||||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||||
lo_style_conditional TYPE REF TO zcl_excel_style_conditional.
|
lo_style_conditional TYPE REF TO zcl_excel_style_conditional.
|
||||||
|
|
||||||
|
@ -25,37 +24,12 @@ DATA: ls_iconset3 TYPE zexcel_conditional_iconset,
|
||||||
ls_iconset4 TYPE zexcel_conditional_iconset,
|
ls_iconset4 TYPE zexcel_conditional_iconset,
|
||||||
ls_iconset5 TYPE zexcel_conditional_iconset.
|
ls_iconset5 TYPE zexcel_conditional_iconset.
|
||||||
|
|
||||||
DATA: lv_file TYPE xstring,
|
CONSTANTS: gc_save_file_name TYPE string VALUE '07_ConditionalAll.xlsx'.
|
||||||
lv_bytecount TYPE i,
|
INCLUDE zdemo_excel_outputopt_incl.
|
||||||
lt_file_tab TYPE solix_tab.
|
|
||||||
|
|
||||||
DATA: lv_full_path TYPE string,
|
|
||||||
lv_workdir TYPE string,
|
|
||||||
lv_file_separator TYPE c.
|
|
||||||
|
|
||||||
CONSTANTS: lv_default_file_name TYPE string VALUE '07_ConditionalAll.xlsx'.
|
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE zexcel_export_dir.
|
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
|
||||||
lv_workdir = p_path.
|
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
|
||||||
CHANGING selected_folder = lv_workdir ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
INITIALIZATION.
|
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
|
||||||
cl_gui_cfw=>flush( ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
START-OF-SELECTION.
|
START-OF-SELECTION.
|
||||||
|
|
||||||
IF p_path IS INITIAL.
|
|
||||||
p_path = lv_workdir.
|
|
||||||
ENDIF.
|
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
|
||||||
|
|
||||||
CREATE OBJECT lo_excel.
|
CREATE OBJECT lo_excel.
|
||||||
|
|
||||||
ls_iconset3-cfvo1_type = zcl_excel_style_conditional=>c_cfvo_type_percent.
|
ls_iconset3-cfvo1_type = zcl_excel_style_conditional=>c_cfvo_type_percent.
|
||||||
|
@ -381,24 +355,7 @@ START-OF-SELECTION.
|
||||||
lo_worksheet->set_cell( ip_row = 22 ip_column = 'E' ip_value = 40 ).
|
lo_worksheet->set_cell( ip_row = 22 ip_column = 'E' ip_value = 40 ).
|
||||||
lo_worksheet->set_cell( ip_row = 23 ip_column = 'E' ip_value = 50 ).
|
lo_worksheet->set_cell( ip_row = 23 ip_column = 'E' ip_value = 50 ).
|
||||||
|
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
|
||||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
|
||||||
|
|
||||||
" Convert to binary
|
*** Create output
|
||||||
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
lcl_output=>output( lo_excel ).</source>
|
||||||
EXPORTING
|
|
||||||
buffer = lv_file
|
|
||||||
IMPORTING
|
|
||||||
output_length = lv_bytecount
|
|
||||||
TABLES
|
|
||||||
binary_tab = lt_file_tab.
|
|
||||||
* " This method is only available on AS ABAP > 6.40
|
|
||||||
* lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
|
||||||
* lv_bytecount = xstrlen( lv_file ).
|
|
||||||
|
|
||||||
" Save the file
|
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
|
||||||
filename = lv_full_path
|
|
||||||
filetype = 'BIN'
|
|
||||||
CHANGING data_tab = lt_file_tab ).</source>
|
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="iso-8859-2"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL8" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100713" UNAM="FEMIA" UDAT="20110528" VERN="000034" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20110530" STIME="095303" IDATE="20110528" ITIME="181955" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL8" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100713" UNAM="K2_SCHMOECK" UDAT="20120322" VERN="000036" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20120323" STIME="211219" IDATE="20120322" ITIME="233732" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="abap2xlsx Demo: Define a range" LENGTH="30 "/>
|
<textElement ID="R" LENGTH="30 "/>
|
||||||
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
||||||
</language>
|
</language>
|
||||||
</textPool>
|
</textPool>
|
||||||
|
@ -17,42 +17,17 @@
|
||||||
REPORT zdemo_excel8.
|
REPORT zdemo_excel8.
|
||||||
|
|
||||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
|
||||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||||
lo_range TYPE REF TO zcl_excel_range.
|
lo_range TYPE REF TO zcl_excel_range.
|
||||||
|
|
||||||
DATA: lv_file TYPE xstring,
|
DATA: lv_title TYPE zexcel_sheet_title.
|
||||||
lv_bytecount TYPE i,
|
|
||||||
lt_file_tab TYPE solix_tab.
|
|
||||||
|
|
||||||
DATA: lv_full_path TYPE string,
|
CONSTANTS: gc_save_file_name TYPE string VALUE '08_Range.xlsx'.
|
||||||
lv_workdir TYPE string,
|
INCLUDE zdemo_excel_outputopt_incl.
|
||||||
lv_title TYPE zexcel_sheet_title,
|
|
||||||
lv_file_separator TYPE c.
|
|
||||||
|
|
||||||
CONSTANTS: lv_default_file_name TYPE string VALUE '08_Range.xlsx'.
|
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE zexcel_export_dir.
|
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
|
||||||
lv_workdir = p_path.
|
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
|
||||||
CHANGING selected_folder = lv_workdir ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
INITIALIZATION.
|
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
|
||||||
cl_gui_cfw=>flush( ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
START-OF-SELECTION.
|
START-OF-SELECTION.
|
||||||
|
|
||||||
IF p_path IS INITIAL.
|
|
||||||
p_path = lv_workdir.
|
|
||||||
ENDIF.
|
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
|
||||||
|
|
||||||
CREATE OBJECT lo_excel.
|
CREATE OBJECT lo_excel.
|
||||||
|
|
||||||
" Get active sheet
|
" Get active sheet
|
||||||
|
@ -74,24 +49,7 @@ START-OF-SELECTION.
|
||||||
lo_worksheet->set_cell( ip_row = 7 ip_column = 'C' ip_value = 'Ananas' ).
|
lo_worksheet->set_cell( ip_row = 7 ip_column = 'C' ip_value = 'Ananas' ).
|
||||||
lo_worksheet->set_cell( ip_row = 8 ip_column = 'C' ip_value = 'Grapes' ).
|
lo_worksheet->set_cell( ip_row = 8 ip_column = 'C' ip_value = 'Grapes' ).
|
||||||
|
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
|
||||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
|
||||||
|
|
||||||
" Convert to binary
|
*** Create output
|
||||||
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
lcl_output=>output( lo_excel ).</source>
|
||||||
EXPORTING
|
|
||||||
buffer = lv_file
|
|
||||||
IMPORTING
|
|
||||||
output_length = lv_bytecount
|
|
||||||
TABLES
|
|
||||||
binary_tab = lt_file_tab.
|
|
||||||
* " This method is only available on AS ABAP > 6.40
|
|
||||||
* lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
|
||||||
* lv_bytecount = xstrlen( lv_file ).
|
|
||||||
|
|
||||||
" Save the file
|
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
|
||||||
filename = lv_full_path
|
|
||||||
filetype = 'BIN'
|
|
||||||
CHANGING data_tab = lt_file_tab ).</source>
|
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-16"?>
|
<?xml version="1.0" encoding="iso-8859-2"?>
|
||||||
<PROG NAME="ZDEMO_EXCEL9" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100713" UNAM="DEVELOPER" UDAT="20120112" VERN="000074" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20120112" STIME="084137" IDATE="20120112" ITIME="084137" UCCHECK="X">
|
<PROG NAME="ZDEMO_EXCEL9" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100713" UNAM="K2_SCHMOECK" UDAT="20120322" VERN="000077" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20120323" STIME="211219" IDATE="20120322" ITIME="234442" UCCHECK="X">
|
||||||
<textPool>
|
<textPool>
|
||||||
<language SPRAS="E">
|
<language SPRAS="E">
|
||||||
<textElement ID="R" ENTRY="abap2xlsx Demo: Data validations" LENGTH="32 "/>
|
<textElement ID="R" LENGTH="32 "/>
|
||||||
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="24 "/>
|
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="24 "/>
|
||||||
<textElement ID="S" KEY="P_SBOOK" ENTRY=" Export SBOOK to Excel?" LENGTH="30 "/>
|
<textElement ID="S" KEY="P_SBOOK" ENTRY=" Export SBOOK to Excel?" LENGTH="30 "/>
|
||||||
</language>
|
</language>
|
||||||
|
@ -23,46 +23,24 @@ CONSTANTS: c_fruits TYPE string VALUE 'Fruits',
|
||||||
c_fish TYPE string VALUE 'Fish'.
|
c_fish TYPE string VALUE 'Fish'.
|
||||||
|
|
||||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
|
||||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||||
lo_range TYPE REF TO zcl_excel_range,
|
lo_range TYPE REF TO zcl_excel_range,
|
||||||
lo_data_validation TYPE REF TO zcl_excel_data_validation.
|
lo_data_validation TYPE REF TO zcl_excel_data_validation.
|
||||||
|
|
||||||
DATA: row TYPE zexcel_cell_row.
|
DATA: row TYPE zexcel_cell_row.
|
||||||
|
|
||||||
DATA: lv_file TYPE xstring,
|
|
||||||
lv_bytecount TYPE i,
|
|
||||||
lt_file_tab TYPE solix_tab.
|
|
||||||
|
|
||||||
DATA: lv_full_path TYPE string,
|
DATA: lv_title TYPE zexcel_sheet_title.
|
||||||
lv_workdir TYPE string,
|
|
||||||
lv_title TYPE zexcel_sheet_title,
|
|
||||||
lv_file_separator TYPE c.
|
|
||||||
|
|
||||||
CONSTANTS: lv_default_file_name TYPE string VALUE '09_DataValidation.xlsx'.
|
|
||||||
|
|
||||||
PARAMETERS: p_path TYPE zexcel_export_dir,
|
CONSTANTS: gc_save_file_name TYPE string VALUE '09_DataValidation.xlsx'.
|
||||||
p_sbook TYPE flag.
|
INCLUDE zdemo_excel_outputopt_incl.
|
||||||
|
|
||||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
PARAMETERS: p_sbook TYPE flag.
|
||||||
lv_workdir = p_path.
|
|
||||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
|
||||||
CHANGING selected_folder = lv_workdir ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
INITIALIZATION.
|
|
||||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
|
||||||
cl_gui_cfw=>flush( ).
|
|
||||||
p_path = lv_workdir.
|
|
||||||
|
|
||||||
START-OF-SELECTION.
|
START-OF-SELECTION.
|
||||||
|
|
||||||
IF p_path IS INITIAL.
|
|
||||||
p_path = lv_workdir.
|
|
||||||
ENDIF.
|
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_file_separator ).
|
|
||||||
CONCATENATE p_path lv_file_separator lv_default_file_name INTO lv_full_path.
|
|
||||||
|
|
||||||
" Creates active sheet
|
" Creates active sheet
|
||||||
CREATE OBJECT lo_excel.
|
CREATE OBJECT lo_excel.
|
||||||
|
|
||||||
|
@ -219,24 +197,7 @@ START-OF-SELECTION.
|
||||||
).
|
).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
|
||||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
|
||||||
|
|
||||||
" Convert to binary
|
*** Create output
|
||||||
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
lcl_output=>output( lo_excel ).</source>
|
||||||
EXPORTING
|
|
||||||
buffer = lv_file
|
|
||||||
IMPORTING
|
|
||||||
output_length = lv_bytecount
|
|
||||||
TABLES
|
|
||||||
binary_tab = lt_file_tab.
|
|
||||||
* " This method is only available on AS ABAP > 6.40
|
|
||||||
* lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
|
||||||
* lv_bytecount = xstrlen( lv_file ).
|
|
||||||
|
|
||||||
" Save the file
|
|
||||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
|
|
||||||
filename = lv_full_path
|
|
||||||
filetype = 'BIN'
|
|
||||||
CHANGING data_tab = lt_file_tab ).</source>
|
|
||||||
</PROG>
|
</PROG>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user