diff --git a/ZA2X/CLAS/ZCL_EXCEL_WORKSHEET.slnk b/ZA2X/CLAS/ZCL_EXCEL_WORKSHEET.slnk index 4433724..bbcd5a9 100644 --- a/ZA2X/CLAS/ZCL_EXCEL_WORKSHEET.slnk +++ b/ZA2X/CLAS/ZCL_EXCEL_WORKSHEET.slnk @@ -7,9 +7,9 @@ final create public . -public section. *"* public components of class ZCL_EXCEL_WORKSHEET *"* do not include other source files here!!! +public section. type-pools ABAP . interfaces ZIF_EXCEL_SHEET_PROPERTIES . @@ -21,13 +21,13 @@ public section. constants C_SHEET_STATE_HIDDEN type ZEXCEL_SHEET_STATE value 'hidden'. "#EC NOTEXT constants C_SHEET_STATE_VERYHIDDEN type ZEXCEL_SHEET_STATE value 'veryHidden'. "#EC NOTEXT constants C_SHEET_STATE_VISIBLE type ZEXCEL_SHEET_STATE value 'visible'. "#EC NOTEXT + data PRINT_GRIDLINES type ZEXCEL_PRINT_GRIDLINES read-only value ABAP_FALSE. "#EC NOTEXT . data SHEET_CONTENT type ZEXCEL_T_CELL_DATA . data SHEET_CONTENT_MERGE type ZEXCEL_T_CELL_DATA . data SHEET_SETUP type ref to ZCL_EXCEL_SHEET_SETUP . data SHEET_STATE type ZEXCEL_SHEET_STATE . - data STYLES type ZEXCEL_T_SHEET_STYLE . - data PRINT_GRIDLINES type ZEXCEL_PRINT_GRIDLINES read-only value ABAP_FALSE. "#EC NOTEXT . data SHOW_GRIDLINES type ZEXCEL_SHOW_GRIDLINES read-only value ABAP_TRUE. "#EC NOTEXT . + data STYLES type ZEXCEL_T_SHEET_STYLE . methods ADD_DRAWING importing @@ -192,6 +192,12 @@ public section. !IP_COLUMN_END type ZEXCEL_CELL_COLUMN_ALPHA optional !IP_ROW type ZEXCEL_CELL_ROW optional !IP_ROW_TO type ZEXCEL_CELL_ROW optional . + methods SET_PRINT_GRIDLINES + importing + !I_PRINT_GRIDLINES type ZEXCEL_PRINT_GRIDLINES . + methods SET_SHOW_GRIDLINES + importing + !I_SHOW_GRIDLINES type ZEXCEL_SHOW_GRIDLINES . methods SET_TABLE importing !IP_TABLE type STANDARD TABLE @@ -202,38 +208,32 @@ public section. !IP_TOP_LEFT_ROW type ZEXCEL_CELL_ROW default 3 . methods SET_TITLE importing - !IP_TITLE type ZEXCEL_SHEET_TITLE . - methods SET_SHOW_GRIDLINES - importing - !I_SHOW_GRIDLINES type ZEXCEL_SHOW_GRIDLINES . - methods SET_PRINT_GRIDLINES - importing - !I_PRINT_GRIDLINES type ZEXCEL_PRINT_GRIDLINES . + !IP_TITLE type ZEXCEL_SHEET_TITLE . *"* protected components of class ZCL_EXCEL_WORKSHEET *"* do not include other source files here!!! protected section. - private section. -*"* private components of class ZCL_EXCEL_WORKSHEET + *"* private components of class ZCL_EXCEL_WORKSHEET *"* do not include other source files here!!! +private section. data ACTIVE_CELL type ZEXCEL_S_CELL_DATA . data COLUMN_DIMENSIONS type ZEXCEL_T_WORKSHEET_COLUMNDIME . data CONDITIONAL_STYLES type ref to ZCL_EXCEL_STYLES_CONDITIONAL . data DATA_VALIDATIONS type ref to ZCL_EXCEL_DATA_VALIDATIONS . data DEFAULT_COLUMN_DIMENSION type ref to ZCL_EXCEL_WORKSHEET_COLUMNDIME . + data DEFAULT_EXCEL_DATE_FORMAT type ZEXCEL_NUMBER_FORMAT . data DEFAULT_ROW_DIMENSION type ref to ZCL_EXCEL_WORKSHEET_ROWDIMENSI . data DRAWINGS type ref to ZCL_EXCEL_DRAWINGS . data EXCEL type ref to ZCL_EXCEL . data FREEZE_PANE_CELL_COLUMN type ZEXCEL_CELL_COLUMN . data FREEZE_PANE_CELL_ROW type ZEXCEL_CELL_ROW . data GUID type OLTPGUID16 . + data HYPERLINKS type ref to CL_OBJECT_COLLECTION . data LOWER_CELL type ZEXCEL_S_CELL_DATA . data ROW_DIMENSIONS type ZEXCEL_T_WORKSHEET_ROWDIMENSIO . data TABLES type ref to CL_OBJECT_COLLECTION . data TITLE type ZEXCEL_SHEET_TITLE value 'Worksheet'. "#EC NOTEXT . data UPPER_CELL type ZEXCEL_S_CELL_DATA . - data HYPERLINKS type ref to CL_OBJECT_COLLECTION . - data DEFAULT_EXCEL_DATE_FORMAT type ZEXCEL_NUMBER_FORMAT . methods UPDATE_DIMENSION_RANGE . *"* local class implementation for public class @@ -407,26 +407,26 @@ endclass. - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + method ZIF_EXCEL_SHEET_PROPERTIES~GET_STYLE. ep_style = zif_excel_sheet_properties~style. @@ -3395,19 +3395,19 @@ endmethod. endmethod. - + method SET_PRINT_GRIDLINES. me->print_gridlines = i_print_gridlines. endmethod. - + method SET_SHOW_GRIDLINES. me->show_gridlines = i_show_gridlines. endmethod. - + @@ -3470,13 +3470,13 @@ endmethod. endmethod. - + method SET_TITLE. me->title = ip_title. endmethod. - + method UPDATE_DIMENSION_RANGE. DATA: ls_sheet_content TYPE zexcel_s_cell_data, diff --git a/ZA2X/CLAS/ZCL_EXCEL_WRITER_2007.slnk b/ZA2X/CLAS/ZCL_EXCEL_WRITER_2007.slnk index 47f96ef..0c0c30d 100644 --- a/ZA2X/CLAS/ZCL_EXCEL_WRITER_2007.slnk +++ b/ZA2X/CLAS/ZCL_EXCEL_WRITER_2007.slnk @@ -1588,7 +1588,7 @@ endmethod. - method CREATE_XL_SHEET. + METHOD create_xl_sheet. ** Constant node name DATA: lc_xml_node_worksheet TYPE string VALUE 'worksheet', @@ -1628,6 +1628,7 @@ endmethod. lc_xml_attr_summarybelow TYPE string VALUE 'summaryBelow', lc_xml_attr_summaryright TYPE string VALUE 'summaryRight', lc_xml_attr_tabselected TYPE string VALUE 'tabSelected', + lc_xml_attr_showzeros TYPE string VALUE 'showZeros', lc_xml_attr_workbookviewid TYPE string VALUE 'workbookViewId', lc_xml_attr_showgridlines TYPE string VALUE 'showGridLines', lc_xml_attr_gridlines TYPE string VALUE 'gridLines', @@ -1837,6 +1838,10 @@ endmethod. " sheetView node lo_element_2 = lo_document->create_simple_element( name = lc_xml_node_sheetview parent = lo_document ). + IF io_worksheet->zif_excel_sheet_properties~show_zeros EQ abap_false. + lo_element_2->set_attribute_ns( name = lc_xml_attr_showzeros + value = '0' ). + ENDIF. IF iv_active EQ abap_true. lo_element_2->set_attribute_ns( name = lc_xml_attr_tabselected value = '1' ). @@ -2752,7 +2757,7 @@ endmethod. lo_renderer = lo_ixml->create_renderer( ostream = lo_ostream document = lo_document ). lo_renderer->render( ). -endmethod. +ENDMETHOD. diff --git a/ZA2X/DTEL/ZEXCEL_SHEET_SHOWZEROS.slnk b/ZA2X/DTEL/ZEXCEL_SHEET_SHOWZEROS.slnk new file mode 100644 index 0000000..f11a218 --- /dev/null +++ b/ZA2X/DTEL/ZEXCEL_SHEET_SHOWZEROS.slnk @@ -0,0 +1,4 @@ + + + + diff --git a/ZA2X/INTF/ZIF_EXCEL_SHEET_PROPERTIES.slnk b/ZA2X/INTF/ZIF_EXCEL_SHEET_PROPERTIES.slnk index bbacd1e..0e7e4c8 100644 --- a/ZA2X/INTF/ZIF_EXCEL_SHEET_PROPERTIES.slnk +++ b/ZA2X/INTF/ZIF_EXCEL_SHEET_PROPERTIES.slnk @@ -1,9 +1,12 @@ - - - + + + + + + diff --git a/ZA2X/PROG/ZDEMO_EXCEL.slnk b/ZA2X/PROG/ZDEMO_EXCEL.slnk index 9633074..5056725 100644 --- a/ZA2X/PROG/ZDEMO_EXCEL.slnk +++ b/ZA2X/PROG/ZDEMO_EXCEL.slnk @@ -1,5 +1,5 @@ - + @@ -39,7 +39,7 @@ START-OF-SELECTION. SUBMIT zdemo_excel1 WITH p_path = p_path AND RETURN. " Hello world SUBMIT zdemo_excel2 WITH p_path = p_path AND RETURN. " Styles SUBMIT zdemo_excel3 WITH p_path = p_path AND RETURN. " iTab binding - SUBMIT zdemo_excel4 WITH p_path = p_path AND RETURN. " Multi sheets and page setup + SUBMIT zdemo_excel4 WITH p_path = p_path AND RETURN. " Multi sheets, page setup and sheet properties SUBMIT zdemo_excel5 WITH p_path = p_path AND RETURN. " Conditional formatting SUBMIT zdemo_excel6 WITH p_path = p_path AND RETURN. " Formulas SUBMIT zdemo_excel7 WITH p_path = p_path AND RETURN. " Conditional formatting diff --git a/ZA2X/PROG/ZDEMO_EXCEL26.slnk b/ZA2X/PROG/ZDEMO_EXCEL26.slnk index 6562ca8..70262a5 100644 --- a/ZA2X/PROG/ZDEMO_EXCEL26.slnk +++ b/ZA2X/PROG/ZDEMO_EXCEL26.slnk @@ -1,5 +1,5 @@ - + diff --git a/ZA2X/PROG/ZDEMO_EXCEL28.slnk b/ZA2X/PROG/ZDEMO_EXCEL28.slnk index d98af66..2db21af 100644 --- a/ZA2X/PROG/ZDEMO_EXCEL28.slnk +++ b/ZA2X/PROG/ZDEMO_EXCEL28.slnk @@ -1,5 +1,5 @@ - + diff --git a/ZA2X/PROG/ZDEMO_EXCEL4.slnk b/ZA2X/PROG/ZDEMO_EXCEL4.slnk index 42f18b7..c26d80a 100644 --- a/ZA2X/PROG/ZDEMO_EXCEL4.slnk +++ b/ZA2X/PROG/ZDEMO_EXCEL4.slnk @@ -1,5 +1,5 @@ - + @@ -81,9 +81,15 @@ START-OF-SELECTION. lo_worksheet->set_cell( ip_column = 'B' ip_row = 4 ip_value = 'Sheet3 is hidden' ). lo_worksheet = lo_excel->add_new_worksheet( ). - lo_worksheet->set_title( ip_title = 'Hidden sheet' ). + lo_worksheet->set_title( ip_title = 'Sheet3' ). lo_worksheet->zif_excel_sheet_properties~hidden = zif_excel_sheet_properties=>c_hidden. + lo_worksheet = lo_excel->add_new_worksheet( ). + lo_worksheet->set_title( ip_title = 'Sheet4' ). + lo_worksheet->set_cell( ip_column = 'B' ip_row = 2 ip_value = 'Cell B3 has value 0' ). + lo_worksheet->set_cell( ip_column = 'B' ip_row = 3 ip_value = 0 ). + lo_worksheet->zif_excel_sheet_properties~show_zeros = zif_excel_sheet_properties=>c_hidezero. + lo_excel->set_active_sheet_index_by_name( 'Sheet1' ). CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.