diff --git a/ZA2X/CLAS/ZCL_EXCEL_STYLE_FONT.slnk b/ZA2X/CLAS/ZCL_EXCEL_STYLE_FONT.slnk
index 1964558..7d3f128 100644
--- a/ZA2X/CLAS/ZCL_EXCEL_STYLE_FONT.slnk
+++ b/ZA2X/CLAS/ZCL_EXCEL_STYLE_FONT.slnk
@@ -12,23 +12,32 @@ public section.
data BOLD type FLAG .
data COLOR type ZEXCEL_S_STYLE_COLOR .
- constants C_NAME_ARIAL type CHAR255 value 'Arial'. "#EC NOTEXT
- constants C_NAME_CALIBRI type CHAR255 value 'Calibri'. "#EC NOTEXT
+ constants C_FAMILY_DECORATIVE type ZEXCEL_STYLE_FONT_FAMILY value 5. "#EC NOTEXT
+ constants C_FAMILY_MODERN type ZEXCEL_STYLE_FONT_FAMILY value 3. "#EC NOTEXT
+ constants C_FAMILY_NONE type ZEXCEL_STYLE_FONT_FAMILY value 0. "#EC NOTEXT
+ constants C_FAMILY_ROMAN type ZEXCEL_STYLE_FONT_FAMILY value 1. "#EC NOTEXT
+ constants C_FAMILY_SCRIPT type ZEXCEL_STYLE_FONT_FAMILY value 4. "#EC NOTEXT
+ constants C_FAMILY_SWISS type ZEXCEL_STYLE_FONT_FAMILY value 2. "#EC NOTEXT
+ constants C_NAME_ARIAL type ZEXCEL_STYLE_FONT_NAME value 'Arial'. "#EC NOTEXT
+ constants C_NAME_CALIBRI type ZEXCEL_STYLE_FONT_NAME value 'Calibri'. "#EC NOTEXT
+ constants C_NAME_CAMBRIA type ZEXCEL_STYLE_FONT_NAME value 'Cambria'. "#EC NOTEXT
+ constants C_NAME_ROMAN type ZEXCEL_STYLE_FONT_NAME value 'Times New Roman'. "#EC NOTEXT
constants C_SCHEME_MAJOR type ZEXCEL_STYLE_FONT_SCHEME value 'major'. "#EC NOTEXT
+ constants C_SCHEME_NONE type ZEXCEL_STYLE_FONT_SCHEME value ''. "#EC NOTEXT
constants C_SCHEME_MINOR type ZEXCEL_STYLE_FONT_SCHEME value 'minor'. "#EC NOTEXT
- constants C_UNDERLINE_DOUBLE type CHAR20 value 'double'. "#EC NOTEXT
- constants C_UNDERLINE_DOUBLEACCOUNTING type CHAR20 value 'doubleAccounting'. "#EC NOTEXT
- constants C_UNDERLINE_NONE type CHAR20 value 'none'. "#EC NOTEXT
- constants C_UNDERLINE_SINGLE type CHAR20 value 'single'. "#EC NOTEXT
- constants C_UNDERLINE_SINGLEACCOUNTING type CHAR20 value 'singleAccounting'. "#EC NOTEXT
- data FAMILY type INT1 value 2. "#EC NOTEXT .
+ constants C_UNDERLINE_DOUBLE type ZEXCEL_STYLE_FONT_UNDERLINE value 'double'. "#EC NOTEXT
+ constants C_UNDERLINE_DOUBLEACCOUNTING type ZEXCEL_STYLE_FONT_UNDERLINE value 'doubleAccounting'. "#EC NOTEXT
+ constants C_UNDERLINE_NONE type ZEXCEL_STYLE_FONT_UNDERLINE value 'none'. "#EC NOTEXT
+ constants C_UNDERLINE_SINGLE type ZEXCEL_STYLE_FONT_UNDERLINE value 'single'. "#EC NOTEXT
+ constants C_UNDERLINE_SINGLEACCOUNTING type ZEXCEL_STYLE_FONT_UNDERLINE value 'singleAccounting'. "#EC NOTEXT
+ data FAMILY type ZEXCEL_STYLE_FONT_FAMILY value 2. "#EC NOTEXT .
data ITALIC type FLAG .
- data NAME type CHAR255 value 'Calibri'. "#EC NOTEXT .
- data SCHEME type ZEXCEL_STYLE_FONT_SCHEME .
- data SIZE type INT1 value 11. "#EC NOTEXT .
+ data NAME type ZEXCEL_STYLE_FONT_NAME value 'Calibri'. "#EC NOTEXT .
+ data SCHEME type ZEXCEL_STYLE_FONT_SCHEME value 'minor'. "#EC NOTEXT .
+ data SIZE type ZEXCEL_STYLE_FONT_SIZE value 11. "#EC NOTEXT .
data STRIKETHROUGH type FLAG .
data UNDERLINE type FLAG .
- data UNDERLINE_MODE type CHAR20 .
+ data UNDERLINE_MODE type ZEXCEL_STYLE_FONT_UNDERLINE .
methods CONSTRUCTOR .
methods GET_STRUCTURE
@@ -52,23 +61,32 @@ protected section.
ABAP
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
method CONSTRUCTOR.
me->color-rgb = zcl_excel_style_color=>c_black.
diff --git a/ZA2X/CLAS/ZCL_EXCEL_WRITER_2007.slnk b/ZA2X/CLAS/ZCL_EXCEL_WRITER_2007.slnk
index 051f0fb..aa28ae0 100644
--- a/ZA2X/CLAS/ZCL_EXCEL_WRITER_2007.slnk
+++ b/ZA2X/CLAS/ZCL_EXCEL_WRITER_2007.slnk
@@ -3353,12 +3353,14 @@ endmethod.
value = lv_value ).
lo_element_font->append_child( new_child = lo_sub_element ).
"scheme
- lo_sub_element = lo_document->create_simple_element( name = lc_xml_node_scheme
- parent = lo_document ).
- lv_value = ls_font-scheme.
- lo_sub_element->set_attribute_ns( name = lc_xml_attr_val
- value = lv_value ).
- lo_element_font->append_child( new_child = lo_sub_element ).
+ IF ls_font-scheme IS NOT INITIAL.
+ lo_sub_element = lo_document->create_simple_element( name = lc_xml_node_scheme
+ parent = lo_document ).
+ lv_value = ls_font-scheme.
+ lo_sub_element->set_attribute_ns( name = lc_xml_attr_val
+ value = lv_value ).
+ lo_element_font->append_child( new_child = lo_sub_element ).
+ ENDIF.
lo_element_fonts->append_child( new_child = lo_element_font ).
ENDLOOP.
diff --git a/ZA2X/DTEL/ZEXCEL_STYLE_FONT_FAMILY.slnk b/ZA2X/DTEL/ZEXCEL_STYLE_FONT_FAMILY.slnk
new file mode 100644
index 0000000..61b258d
--- /dev/null
+++ b/ZA2X/DTEL/ZEXCEL_STYLE_FONT_FAMILY.slnk
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/ZA2X/DTEL/ZEXCEL_STYLE_FONT_NAME.slnk b/ZA2X/DTEL/ZEXCEL_STYLE_FONT_NAME.slnk
new file mode 100644
index 0000000..62b0469
--- /dev/null
+++ b/ZA2X/DTEL/ZEXCEL_STYLE_FONT_NAME.slnk
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/ZA2X/DTEL/ZEXCEL_STYLE_FONT_SIZE.slnk b/ZA2X/DTEL/ZEXCEL_STYLE_FONT_SIZE.slnk
new file mode 100644
index 0000000..a80b057
--- /dev/null
+++ b/ZA2X/DTEL/ZEXCEL_STYLE_FONT_SIZE.slnk
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/ZA2X/DTEL/ZEXCEL_STYLE_FONT_UNDERLINE.slnk b/ZA2X/DTEL/ZEXCEL_STYLE_FONT_UNDERLINE.slnk
new file mode 100644
index 0000000..7552293
--- /dev/null
+++ b/ZA2X/DTEL/ZEXCEL_STYLE_FONT_UNDERLINE.slnk
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/ZA2X/PROG/ZDEMO_EXCEL2.slnk b/ZA2X/PROG/ZDEMO_EXCEL2.slnk
index 5366dd0..9af041b 100644
--- a/ZA2X/PROG/ZDEMO_EXCEL2.slnk
+++ b/ZA2X/PROG/ZDEMO_EXCEL2.slnk
@@ -1,5 +1,5 @@
-
+
@@ -79,12 +79,17 @@ START-OF-SELECTION.
lo_style_bold = lo_excel->add_new_style( ).
lo_style_bold->font->bold = abap_true.
lo_style_bold->font->italic = abap_true.
+ lo_style_bold->font->name = zcl_excel_style_font=>c_name_arial.
+ lo_style_bold->font->scheme = zcl_excel_style_font=>c_scheme_none.
lo_style_bold->font->color-rgb = zcl_excel_style_color=>c_red.
lv_style_bold_guid = lo_style_bold->get_guid( ).
" Create an underline double style
lo_style_underline = lo_excel->add_new_style( ).
lo_style_underline->font->underline = abap_true.
lo_style_underline->font->underline_mode = zcl_excel_style_font=>c_underline_double.
+ lo_style_underline->font->name = zcl_excel_style_font=>c_name_roman.
+ lo_style_underline->font->scheme = zcl_excel_style_font=>c_scheme_none.
+ lo_style_underline->font->family = zcl_excel_style_font=>c_family_roman.
lv_style_underline_guid = lo_style_underline->get_guid( ).
" Create filled style yellow
lo_style_filled = lo_excel->add_new_style( ).
@@ -105,10 +110,12 @@ START-OF-SELECTION.
lo_style_border->borders->diagonal_mode = zcl_excel_style_borders=>c_diagonal_both.
lv_style_border_guid = lo_style_border->get_guid( ).
" Create filled style green
- lo_style_filled = lo_excel->add_new_style( ).
- lo_style_filled->fill->filltype = zcl_excel_style_fill=>c_fill_solid.
+ lo_style_filled = lo_excel->add_new_style( ).
+ lo_style_filled->fill->filltype = zcl_excel_style_fill=>c_fill_solid.
lo_style_filled->fill->fgcolor-rgb = zcl_excel_style_color=>c_green.
- lv_style_filled_green_guid = lo_style_filled->get_guid( ).
+ lo_style_filled->font->name = zcl_excel_style_font=>c_name_cambria.
+ lo_style_filled->font->scheme = zcl_excel_style_font=>c_scheme_major.
+ lv_style_filled_green_guid = lo_style_filled->get_guid( ).
" Get active sheet
lo_worksheet = lo_excel->get_active_worksheet( ).