From 9b364a73418b99a4004d320ce5524dea0e4880bf Mon Sep 17 00:00:00 2001 From: Ivan Femia Date: Sat, 12 Feb 2011 16:09:37 +0000 Subject: [PATCH] Fixed issue #46 git-svn-id: https://subversion.assembla.com/svn/abap2xlsx/trunk@133 b7d68dce-7c3c-4a99-8ce0-9ea847f5d049 --- ZA2X/CLAS/ZCL_EXCEL_COMMON.slnk | 120 +++++++++++++++------------ ZA2X/CLAS/ZCL_EXCEL_RANGE.slnk | 52 +++++------- ZA2X/CLAS/ZCL_EXCEL_WRITER_2007.slnk | 6 +- 3 files changed, 90 insertions(+), 88 deletions(-) diff --git a/ZA2X/CLAS/ZCL_EXCEL_COMMON.slnk b/ZA2X/CLAS/ZCL_EXCEL_COMMON.slnk index a6bfb09..afd3a61 100644 --- a/ZA2X/CLAS/ZCL_EXCEL_COMMON.slnk +++ b/ZA2X/CLAS/ZCL_EXCEL_COMMON.slnk @@ -1,5 +1,5 @@ - + class ZCL_EXCEL_COMMON definition public final @@ -104,16 +104,16 @@ private section. *"* implementation or private method's signature *"* use this source file for any macro definitions you need *"* in the implementation part of the class - - - - - - - - - - + + + + + + + + + + method CHAR2HEX. IF o_conv IS NOT BOUND. @@ -128,9 +128,9 @@ private section. endmethod. - - - + + + method CONVERT_COLUMN2ALPHA. DATA: lo_conv TYPE REF TO cl_abap_conv_in_ce, @@ -152,9 +152,9 @@ endmethod. endmethod. - - - + + + method CONVERT_COLUMN2INT. DATA: lv_uccpi TYPE i, @@ -182,10 +182,10 @@ endmethod. endmethod. - - - - + + + + method CONVERT_COLUMNROW2COLUMN_A_ROW. DATA: width TYPE i, col_width TYPE i, @@ -202,9 +202,9 @@ endmethod. e_row = row_str. endmethod. - - - + + + method DATE_TO_EXCEL_STRING. DATA: lv_date_diff TYPE i. @@ -213,9 +213,9 @@ endmethod. ep_value = zcl_excel_common=>number_to_excel_string( ip_value = lv_date_diff ). endmethod. - - - + + + method ENCRYPT_PASSWORD. DATA lv_curr_offset TYPE i. @@ -255,16 +255,27 @@ endmethod. endmethod. - - - + + + METHOD escape_string. - CONCATENATE `'` ip_value `'` INTO ep_escaped_value. + DATA lv_value TYPE string. + + lv_value = ip_value. + + REPLACE ALL OCCURRENCES OF `'` IN lv_value WITH `''`. + + IF lv_value CP '* *'. + CONCATENATE `'` lv_value `'` INTO lv_value . + ENDIF. + + ep_escaped_value = lv_value. + ENDMETHOD. - - - + + + method EXCEL_STRING_TO_DATE. DATA: lv_date_int TYPE i. @@ -276,9 +287,9 @@ ENDMETHOD. ENDTRY. endmethod. - - - + + + method EXCEL_STRING_TO_TIME. DATA: lv_seconds_in_day TYPE i, lv_day_fraction TYPE f, @@ -296,10 +307,10 @@ lc_seconds_in_day TYPE i VALUE 86400. ENDTRY. endmethod. - - - - METHOD get_fieldcatalog. + + + + method GET_FIELDCATALOG. DATA: lr_data TYPE REF TO data, lo_structdescr TYPE REF TO cl_abap_structdescr, @@ -345,12 +356,11 @@ endmethod. ENDLOOP. ENDIF. -ENDMETHOD. - +endmethod. - - - + + + method NUMBER_TO_EXCEL_STRING. DATA: lv_value_c TYPE c LENGTH 100. @@ -365,9 +375,9 @@ ENDMETHOD. ENDIF. endmethod. - - - + + + method SHL01. DATA: @@ -385,9 +395,9 @@ endmethod. endmethod. - - - + + + method SHR14. DATA: @@ -412,9 +422,9 @@ endmethod. endmethod. - - - + + + method TIME_TO_EXCEL_STRING. DATA: lv_seconds_in_day TYPE i, lv_day_fraction TYPE f, diff --git a/ZA2X/CLAS/ZCL_EXCEL_RANGE.slnk b/ZA2X/CLAS/ZCL_EXCEL_RANGE.slnk index cef70c6..43d9a54 100644 --- a/ZA2X/CLAS/ZCL_EXCEL_RANGE.slnk +++ b/ZA2X/CLAS/ZCL_EXCEL_RANGE.slnk @@ -1,5 +1,5 @@ - + class ZCL_EXCEL_RANGE definition public final @@ -42,57 +42,49 @@ private section. *"* implementation or private method's signature *"* use this source file for any macro definitions you need *"* in the implementation part of the class - - - - - - + + + + method CONSTRUCTOR. endmethod. - - - + + method GET_GUID. ep_guid = me->guid. endmethod. - - - + + method GET_VALUE. ep_value = me->value. endmethod. - - - - - - - - METHOD set_value. - DATA: lv_start_row_c TYPE char7, - lv_stop_row_c TYPE char7. + + + + + + + method SET_VALUE. + DATA: lv_start_row_c TYPE char7, + lv_stop_row_c TYPE char7, + lv_value TYPE string. lv_stop_row_c = ip_stop_row. SHIFT lv_stop_row_c RIGHT DELETING TRAILING space. SHIFT lv_stop_row_c LEFT DELETING LEADING space. lv_start_row_c = ip_start_row. SHIFT lv_start_row_c RIGHT DELETING TRAILING space. SHIFT lv_start_row_c LEFT DELETING LEADING space. - IF ip_sheet_name CP '* *'. - CONCATENATE `'` ip_sheet_name `'` INTO me->value. - ELSE. - me->value = ip_sheet_name. - ENDIF. + lv_value = ip_sheet_name. + me->value = zcl_excel_common=>escape_string( ip_value = lv_value ). CONCATENATE me->value '!$' ip_start_column '$' lv_start_row_c ':$' ip_stop_column '$' lv_stop_row_c INTO me->value. -ENDMETHOD. - +endmethod. diff --git a/ZA2X/CLAS/ZCL_EXCEL_WRITER_2007.slnk b/ZA2X/CLAS/ZCL_EXCEL_WRITER_2007.slnk index 81abf6a..8d1be2f 100644 --- a/ZA2X/CLAS/ZCL_EXCEL_WRITER_2007.slnk +++ b/ZA2X/CLAS/ZCL_EXCEL_WRITER_2007.slnk @@ -3851,7 +3851,7 @@ endmethod. - method CREATE_XL_WORKBOOK. + METHOD create_xl_workbook. ** Constant node name @@ -4002,7 +4002,7 @@ endmethod. IF lv_active_sheet > 1. lv_active_sheet = lv_active_sheet - 1. lv_value = lv_active_sheet. - CONDENSE lv_value. + CONDENSE lv_value. lo_sub_element->set_attribute_ns( name = lc_xml_attr_activetab value = lv_value ). ENDIF. @@ -4070,7 +4070,7 @@ endmethod. lo_renderer = lo_ixml->create_renderer( ostream = lo_ostream document = lo_document ). lo_renderer->render( ). -endmethod. +ENDMETHOD.