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.