From 87f12d6c8c540c473caf2c64114b184f8a43a8f3 Mon Sep 17 00:00:00 2001 From: Ivan Femia Date: Sat, 11 Jun 2011 08:02:50 +0000 Subject: [PATCH] Font Style bug fix. DEMO2 update. git-svn-id: https://subversion.assembla.com/svn/abap2xlsx/trunk@199 b7d68dce-7c3c-4a99-8ce0-9ea847f5d049 --- ZA2X/CLAS/ZCL_EXCEL_STYLE_FONT.slnk | 76 +++++++++++++--------- ZA2X/CLAS/ZCL_EXCEL_WRITER_2007.slnk | 14 ++-- ZA2X/DTEL/ZEXCEL_STYLE_FONT_FAMILY.slnk | 4 ++ ZA2X/DTEL/ZEXCEL_STYLE_FONT_NAME.slnk | 4 ++ ZA2X/DTEL/ZEXCEL_STYLE_FONT_SIZE.slnk | 4 ++ ZA2X/DTEL/ZEXCEL_STYLE_FONT_UNDERLINE.slnk | 4 ++ ZA2X/PROG/ZDEMO_EXCEL2.slnk | 15 +++-- 7 files changed, 82 insertions(+), 39 deletions(-) create mode 100644 ZA2X/DTEL/ZEXCEL_STYLE_FONT_FAMILY.slnk create mode 100644 ZA2X/DTEL/ZEXCEL_STYLE_FONT_NAME.slnk create mode 100644 ZA2X/DTEL/ZEXCEL_STYLE_FONT_SIZE.slnk create mode 100644 ZA2X/DTEL/ZEXCEL_STYLE_FONT_UNDERLINE.slnk 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( ).